linux MySQL5.7 rpm安装
删除旧包:
# rpm -qa | grep -i mysql
# rpm -ev mysql-libs-* --nodeps
安装rpm包:
# rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm # rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm # rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm # rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm
启动、停止:
# service mysqld start
# service mysqld stop
# service mysqld status
# service mysqld stop
# service mysqld status
初始随机密码:
# cat /var/log/mysqld.log | more
修改初始密码及授权远程访问:
# mysql -uroot -p
mysql> set password='Pwd@123456'; mysql> grant all privileges on *.* to 'root'@'%' identified by 'Pwd@123456';
密码复杂度属性:
mysql> set global validate_password_policy=0;
validate_password_policy有以下取值:(默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。)
Policy | Tests Performed |
---|---|
0 or LOW |
Length |
1 or MEDIUM |
Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters; dictionary file |
修改数据目录:
新目录需要给mysql用户授权,mysqld_safe日志文件授权,关闭selinux(没找到相关策略设置的方法)
# mkdir /data/mysql/data # mv /var/lib/mysql/* /data/mysql/data/ # mkdir /data/mysql/log # chown mysql:mysql -R /data/mysql # touch mysqld_safe.log # chown mysql:mysql mysqld_safe.log # vi /etc/my.cnf /** [client] port = 3306 socket = /data/mysql/log/mysql.sock default-character-set=utf8 [mysql] no-auto-rehash socket=/data/mysql/log/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /data/mysql/log/mysql.sock character-set-server=utf8 lower_case_table_names=1 basedir=/usr datadir=/data/mysql/data log-error=/data/mysql/log/error.log pid-file=/data/mysql/log/mysql.pid init_connect='SET NAMES utf8' symbolic-links=0 skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M [mysqld_safe] log-error=/data/mysql/log/mysqld_safe.log */ # getenforce Enforcing # setenforce 0 # vi /etc/selinux/config /** # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. #SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted */ # service mysqld start
其他命令:
# mysqladmin -u root -p password mysql> select version(); # chkconfig --list # chkconfig --level 345 mysqld on # netstat -na | grep 3306
mysql> CREATE USER 'username'@'host' IDENTIFIED BY 'password';
# service mysqld --initedialize
Usage: /etc/init.d/mysqld {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
# service mysqld start
Initializing MySQL database: [ OK ]
Installing validate password plugin: [ OK ]
Starting mysqld: [ OK ]