mysql学习3:第二章:mysql安装启动和关闭——mysql5.6安装

接上一节;

本次实验系统为centos7.4 x64


 

1.1.   mysql5.6安装过程

1.1.1.   创建mysql用户并指定mysql用户组。

创建用户并指定用户组

groupadd mysql

useradd -g mysql mysql -s /sblin/nologin

centos7.4 已默认创建mysql用户

1.1.2.   解压安装包

 

软件包家目录统一放在/usr/local

# cd / usr/local

解压mysql软件包

# tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

注意:书中示例版本为mysql5.6.16,本次实验环境为mysql5.6.42

做软链接,方便日后升级

# ln -s mysql-5.6.42-linux-glibc2.12-x86_64 mysql

给mysql目录授权

chown mysql:mysql -R mysql

1.1.3.   创建安装目录

创建mysql数据库的数据目录datadir,创建在/data/mysql下面;

mkdir -p /data/mysql

chown -R /data/mysql mysql:mysql

[root@localhost local]# chown mysql:mysql -R mysql-5.6.42-linux-glibc2.12-x86_64/

1.1.4.   配置文件

由于是二进制安装方式 ,数据库配置文件需要自己配置好。配置文件如下:

 

[root@localhost etc]# vi my.cnf

[client]

port = 3306

socket = /tmp/mysql.sock

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

port=3306

socket=/tmp/mysql.sock

basedir=/usr/local/mysql

datadir=/data/mysql

open_files_limit=65535

back_log=103

max_connections=512

max_connect_errors=100000

table_open_cache=512

external-locking=FALSE

max_allowed_packet=128M

sort_buffer_size=2M

join_buffer_size=2M

thread_cache_size=32M

tmp_table_size=96M

max_heap_table_size=96M

slow_query_log=1

slow_query_log_file=/data/mysql/slow.log

log-error=/data/mysql/error.log

long_query_time=0.5

server-id=1323306

log-bin=/data/mysql/mysql-bin

sync_binlog=1

binlog_cache_size=4M

max_binlog_cache_size=128M

max_binlog_size=1024M

expire_logs_days=7

key_buffer_size=32M

read_buffer_size=1M

read_rnd_buffer_size=16M

bulk_insert_buffer_size=64M

character-set-server=utf8

default-storage-engine=InnoDB

binlog_format=row

#gtid_mode=on

#log_slave_updates=1

#enforce_gtid_consistency=1

interactive_timeout=300

wait_timeout=300

transaction_isolation=REPEATABLE-READ

innodb_buffer_pool_size=1434M

innodb_data_file_path=ibdata1:1024M:autoextend

innodb_flush_log_at_trx_commit=1

innodb_log_buffer_size=16M

innodb_log_file_size=256M

innodb_log_files_in_group=2

innodb_max_dirty_pages_pct=50

innodb_file_per_table=1

innodb_locks_unsafe_for_binlog=0

[mysqldump]

quick

max_allowed_packet=32M

# 后增加

pid-file=/data/mysql/mysql.pid

 

1.1.5.   初始化数据库

[root@localhost ~]# cd /usr/local/mysql/scripts/

[root@localhost scripts]# ls

mysql_install_db

# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --defaults-file=/etc/my.cnf --user=mysql

当出现两个“OK”的四环,证明初始化数据库成功了。

 

1.1.6.   启动mysql数据库

[root@localhost mysql]# pwd

/usr/local/mysql/bin

[root@localhost bin]# ./mysqld_safe --defaults-file=/etc/my.conf &

 

启动过程日志如下:

[root@localhost bin]# ./mysqld_safe --defaults-file=/etc/my.cnf &

[1] 16030

[root@localhost bin]# 181104 22:12:15 mysqld_safe Logging to '/data/mysql/error.log'.

181104 22:12:15 mysqld_safe Starting mysqld daemon with databases from /data/mysql

 

查看mysql进程,验证示范启动成功:

 

设置mysql自动启动,需要拷贝下列文件到系统目录下。

# cp support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

 

(*注意,mysql二进制安装默认的路径为/usr/local/mysql,启动脚本里/usr/local/mysql需要替换,如安装位置变换为/data/mysql56

>sed -i 's#/usr/local/mysql#/data/mysql56#g' /data/mysql56/bin/mysqld_safe /etc/init.d/mysqld  )

 

配置环境变量

> echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile

> source /etc/profile

 

添加到系统服务,用系统启动

# service mysqld start

添加自动启动

> chkconfig --add mysqld

> chkconfig mysqld on

> chkconfig --list mysqld

 

 

1.1.7.   配置文件优先级

mysql读取配置文件的顺序是

/etc/my.cnf >/etc/mysql/my.cnf >/usr/local/mysql/etc/my.cnf> ~/.my.cnf

 

# mysql --help|grep cnf

                      order of preference, my.cnf, $MYSQL_TCP_PORT,

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

1.1.8.   mysqld启动选项

有三个参数

--defaults-file:使用指定位置的配置文件;默认/etc/my.cnf

--defaults-extra-file:除了读取默认配置文件,还读取额外的配置文件;

--no-defaults:忽略所有的配置文件

如一次性指定多个配置文件,则以最后一次读取的为准。

 

1.2.   创建密码并提高安全性

从系统进入数据库修改密码:

# mysql

跳转到数据库后:

mysql> use mysql;

mysql>update user set password=password(‘root123’) where user=’root’;

mysql>flush privileges;

 

 

直接在系统中修改root密码:

修改mysql密码(mysql5.6安装默认root密码为空)

mysqladmin -u root password ‘root123’

 

低于5.7版本数据库需要安全加固,只保留数据库用户未root,host为localhost的账号。

清理无用的mysql用户及库

登陆mysql

> mysql -uroot -p

查询用户

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql>

mysql>

mysql> select user,host from user;

+------+-----------------------+

| user | host                  |

+------+-----------------------+

| root | 127.0.0.1             |

| root | ::1                   |

|      | localhost             |

| root | localhost             |

|      | localhost.localdomain |

| root | localhost.localdomain |

+------+-----------------------+

6 rows in set (0.00 sec)

 

> drop user "root"@"::1";

> drop user ""@"localhost";

> drop user ""@"localhost.localdomain";

> drop user "root"@"localhost.localdomain";

mysql> delete from user where user!=’root’ or host!=’localhost’;

 

删除无用库

> drop database test;

 

1.3.   关闭数据库

正常关闭:

# >cd /usr/local/mysql.bin

#> ./mysqladmin -uroot -proot123 shutdown

非正常关闭,直接kill掉mysql进程。

 

1.4.   基础数据库的名称

 

查看当前库有哪些

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

 

mysql 5.7会多一个sys库

information_schema数据库是只读库,保存mysql服务器维护其他数据库的信息。

常用表:

       tables:记录所有表基础信息

       processlist:当前数据库的连接

       global_status:数据库当前运行的各种状态值;

       global_variables:查看数据库中参数

       partitions:数据库中表分区的情况

       INNODB_LOCKS,INNODB_TRX,INNODB_LOCK_WAITS;用来监控数据库中锁的情况。

 

mysql库在初始化过程中自动创建,用的最多的表为user。

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29519108/viewspace-2218716/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29519108/viewspace-2218716/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值