mysql 5.6部署

1、清除遗留环境

rpm -qa|grep -i mysql

rpm -qa|grep mariadb

yum remove mariadb-libs -y

rm -rf /etc/my.cnf

 

2、清除安装目录

find / -name mysql | xargs rm -rf

 

修改hots

vi /etc/hosts

echo 10.0.0.19 19cDB >>/etc/hosts

 

3、解压安装包

tar zvxf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.6.51-linux-glibc2.12-x86_64 /data/mysql

 

4、创建用户用户

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql

 

groupadd mysql

useradd -r -g mysql mysql

 

5、目录权限

mkdir /data/mysql/log

mkdir /data/mysql/mydata

mkdir /data/mysql/tmp                   这次不用

chown -R mysql:mysql /data/mysql

 

6、安装依赖包

yum -y install autoconf

yum install libaio* -y

 

7.设置环境变量

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

source /etc/profile

mysql -V

 

8、配置启动脚本

在mysql路径下

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

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

 

 

9、修改my.cnf

cp support-files/my-default.cnf /etc/my.cnf

 

[client]

#client character set

default_character_set = utf8

 

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

user = mysql

basedir=/data/mysql

datadir=/data/mysql/mydata

character_set_server = utf8

default_storage_engine = innodb

port=3306

max_connections = 1000

skip_name_resolve = on

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

connect_timeout = 10

wait_timeout = 300

interactive_timeout = 300

lower_case_table_names = 1

log_bin_trust_function_creators=1

 

slow_query_log = on

slow_query_log_file = /data/mysql/log/mysql_slow.log

long_query_time=3

log_error = /data/mysql/log/mysql.err

expire_logs_days = 14

 

######innodb configure######

#innodb memory ,byte

innodb_buffer_pool_size=12G      50%~70%内存

#instances of innodb

innodb_buffer_pool_instances=8

#dump cache to disk before server shutdown

innodb_buffer_pool_dump_at_shutdown=on

#immediate dump buffer to disk

innodb_buffer_pool_dump_now=on

#load cache from disk when server start

innodb_buffer_pool_load_at_startup=on

#immediate load buffer_pool

innodb_buffer_pool_load_now=on

#log buffer size 8 to 32M

innodb_log_buffer_size=8M

#bin log size

innodb_log_file_size=256M

#write log buffer to disk,0,write every second;1,when transaction commit;2,transaction commit,every second,do not synchronization

innodb_flush_log_at_trx_commit=1

 

######MyIsam configure######

key_buffer_size=256M

read_buffer_size=256K

read_rnd_buffer_size=256K

sort_buffer_size=256K

join_buffer_size=256K

 

socket=/data/mysql/tmp/mysql.sock    这次部署是/tmp下

 

[mysql]

socket=/data/mysql/tmp/mysql.sock

 

10、socket文件

touch /data/mysql/tmp/mysql.sock

cd /data/mysql/tmp

chown mysql:mysql mysql.sock

chmod 755 /data/mysql/tmp/mysql.sock

 

 

11、初始化数据

 

./scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/mydata

 

ln -s /data/mysql/tmp/mysql.sock /tmp/mysql.sock

 

12、启动数据库

systemctl start mysqld

 

13、修改mysqlroot密码

/data/mysql/bin/mysqladmin -u root password '123456'

 

 

14、删除匿名用户

mysql -uroot -p123456

use mysql

delete from user where user='';  建议删除匿名用户

 

15、通过sql语句,将user表的 host 改为 %,否则外网通过客户端工具会链接不上

update user set host ='%' where user ='root' and host ='localhost';

 

16、刷新权限

flush privileges;

 

迁移和授权 

1、查看用户和主机信息

select user,host from mysql.user

 

2、查看某个用户的权限

show grants for 用户名@'主机地址'

show grants for root@'%';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*E35AA65EE2858C12E6698DDA54C817C5CCA2613A'

 

3、导入数据

mysql -uroot -p123456 < mysqldump_20210702.sql

posted @ 2021-07-02 10:28  风中阿阳  阅读(95)  评论(0编辑  收藏  举报