Mysql官方安装教程
最新版本地址: http://dev.mysql.com/downloads/repo/yum/
注意:
1. Centos5 对应 Red Hat Enterprise Linux 5
2. Centos6 对应Red Hat Enterprise Linux 6
3. Centos7 对应Red Hat Enterprise Linux 7
# 如果没有wget 可以安装 yum install wget
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
yum localinstall mysql-community-release-el7-{version-number}.noarch.rpm
yum update
这次应该能看到mysql安装
yum repolist all | grep mysql
可以看到当前启用MySQL版本,默认启用最高版本Mysql,可手动启用其他版本
yum install mysql-community-server
会看到正在下载Mysql数据库
systemctl start mysqld.service
查看Mysql服务启动情况
systemctl status mysqld.service
注意: 启动出错: Can’t change data directory owner to mysql
由于安全限制需要将防火墙关闭 setenforce 0
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
测试环境密码不需要那么复杂,设置级别为0即可
mysql> set global validate_password_policy=0;
mysql> SHOW VARIABLES LIKE 'validate_password%';
# 修改密码长度为6,默认为8
mysql> set global validate_password_length=6;
# 修改root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
详细权限配置参考: https://www.cnblogs.com/candle806/p/4048651.html
注意: 如果忘记初始密码可以在mysql日志文件中查找 /var/log/mysqld.log
mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
详细说明参考:https://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html
另外一种使用mysqld 初始化数据目录
详细说明参考:https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
问题:
如果目录权限正确,但是不能启动MySQL,可能跟SeLinux有关,修改seLinux指定目录权限即可
chcon -R -t mysqld_db_t dir
临时关闭防火墙:
setenforce 0
永久关闭防火墙:
# 将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config
mysql > CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# % 为全部Ip, 数据库名.标名 可以使用 * 代替,表示所有库中所有表
mysql > grant all privileges on database_name.table_name to 'username'@'host';
mysql> revoke all on dingshops.* from 'test'@'%';
mysql> show grants for 'test'@'%';
mysql> SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
mysql>flush privileges;