共计 2220 个字符,预计需要花费 6 分钟才能阅读完成。
最近做一个项目,需要用 CentOS 做数据服务器,用 mysql 数据库,就需要安装 mysql 数据库,之前没接触过 centos,因此什么也不懂,就从网上也查了很多资料,都觉得不是最好的方法。最后结合 mysql 官方资料和网友的资料,最后用 rpm 方式安装,并总结给其他人以参考。
首先打开 mysql 管网,找到“yum repository”打开页面或者直接打开如下链接
http://dev.mysql.com/downloads/repo/yum/
,找到自己需要的,点击 download,下载 rpm 文件,在 centos 中下载完成 house 可以用软件管理器安装,也可以自己用命令行安装
sudo rpm -Uvh ‘filename’
完成安装。
输入
yum repolist all | grep mysql
可以查看所有的 mysql 对应的 rpm 包,如果是安装之前的版本,则需要进行相应的设置,打开
/etc/yum.repos.d/mysql-community.repo
文件,设置对应版本的 enabled 属性,1 是启用,0 是禁用,如果安装当前的最新版本,则无需进行任何 设置。
输入以下命令开始安装 mysql
sudo yum install mysql-community-server
等待安装完成,输入以下命令,启动 mysql 服务
sudo service mysqld start
启动完成,house 可以查看 mysql 服务状态
sudo service mysqld status
如果安装的是 5.7 版本,在服务启动时,因为数据目录是空的,会产生以下操作:
• 初始化服务器
• 在数据目录中生成 SSL 证书和密钥文件
• 安装并启用 validate_password 插件
• 超级用户账户 ’root’@’localhost’ 被创建,超级用户密码被设置并存储在 error 日志文件,如需要显示它,则执行如下命令
sudo grep ‘temporary password’ /var/log/mysqld.log
此时会生成一个随机密码,在命令行中输入
mysql -uroot -p
加上刚才的随机密码,登录 mysql。
用该密码登录到服务端后,必须马上修改密码,不然会报如下错误 (本地方参考 http://www.cnblogs.com/ivictor/p/5142809.html):
mysql> select user();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如果只是修改为一个简单的密码,会报以下错误:
mysql> ALTER USER USER() IDENTIFIED BY ‘12345678’;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与 validate_password_policy 的值有关。
validate_password_policy 有以下取值:
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
默认是 1,即 MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置 root 的密码为 123456。
必须修改两个全局参数:
首先,修改 validate_password_policy 参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
更改之后可以修改为你自己的密码。
设置完成后需要设置 mysql 的远程访问权限,这里有两个地方需要设置,一个是对外部 ip 地址开放,一个是端口开放。
最常用的设置是,通过如下命令,设置 mysql 授权
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
如果要对某一个 ip 地址设置授权,则需要把 % 改为你的 ip 地址,设置完成,重新授权表
FLUSH PRIVILEGES;
然后 exit 退出 mysql,并重新启动 mysql
service mysqld restart
在 centos7 中通过 firewall-cmd 设置 3306 端口开放
firewall-cmd –zone=public –add-port=3306/tcp –permanent
设置完成,重新加载 firewall
firewall-cmd –reload
通过命令来查看 3306 端口是否设置成功
firewall-cmd –list-all-zones
至此,centos7 中 mysql 安装并配置完成
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136245.htm