MySQL5.7.22安装 适用于5.*系列
创建用户
groupadd mysql
useradd -r -g mysql mysql
解压mysql安装包到指定文件夹,切换到该目录
cd /opt/mysql-5.7.22
创建 data目录
mkdir data
修改权限
chown -R mysql:mysql ./
初始化 mysql
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql-5.7.22/ --datadir=/opt/mysql-5.7.22/data/
生成临时密码 记住这个后边要用
ulfbfyTkr7(l
可能的报错
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决办法:
yum install -y libaio
bin/mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.22/data
配置my.cnf
vim /etc/my.cnf (直接把下面内容复制上就行)
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/opt/mysql-5.7.22:
datadir=/opt/mysql-5.7.22/data
socket=/tmp/mysql.sock
#skip-grant-tables
skip-slave-start
skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M
table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600
#Try number of CPU's*2 for thread_concurrency
#thread_concurrency = 32
#isolation level and default engine
default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED
innodb_write_io_threads=16
#open performance schema
log-warnings
sysdate-is-now
#socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
##不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/opt/mysql-5.7.22/data/mysqld.pid
[mysqldump]
quick
max_allowed_packet = 128M
[mysql]
no-auto-rehash
default-character-set=utf8mb4
[mysqlhotcopy]
interactive-timeout
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
修改开机启动配置
cp /opt/mysql-5.7.22/support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqldbasedir=/home/mysql-5.7.22 datadir=/home/mysql-5.7.22/data
启动mysql
service mysqld start
加入开机起动
chkconfig --add mysqld
登录修改密码
mysql -uroot -p 上面初始化时的密码
如果出现错误 需要添加软连接 ln -s /home/mysql-5.7.22/bin/mysql /usr/bin
alter user 'root'@'localhost' identified by '密码';
#授权新用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges; #刷新权限
远程测试和一点常用指令
mysql -h ip -uroot -p密码
mysql -uroot -p密码
set global validate_password_policy=LOW;
update mysql.user set authentication_string=PASSWORD('密码') where User='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;