centos7安装mysql
参考以下几位大佬的博客
-
1. 首先去官网看一下有哪些版本可供下载
2. 下载mysql源的安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装mysql源
yum -y install mysql57-community-release-el7-11.noarch.rpm
安装好之后看一下安装效果
yum repolist enabled | grep mysql.*
后面数字不用管3. 安装mysql服务
yum install mysql-community-server
中间会暂停让你输入选项,一路 y 就好
4. 启动mysql服务
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
5. 初始化数据库密码
grep "password" /var/log/mysqld.log
冒号后边的全是密码,尤其要注意小数点登录:
mysql -uroot -p
按回车键之后,输入密码,屏幕是不会显示任何字符的,害怕自己输入错,可以吧密码写到 -p后面,不要空格
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '****************';
mysql默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:==大小写字母、数字和特殊符号,并且长度不能少于8位。==否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
6. 数据库授权
如果不给数据库授权,只能localhost登录访问
进入mysql之后输入以下命令
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
//远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip
输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
7.设置自动启动
systemctl enable mysqld
8.开放3306端口
如果需要连接服务器的mysql,还需要把开放3306端口
centos7使用的是FirewallD防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
-
zone #作用域
-
add-port=3306/tcp #添加端口,格式为:端口/通讯协议
-
permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service
centos6使用的是iptables防火墙
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save
9.其他
在mysql使用过程中,如果出现了一些莫名其妙的问题,尤其是本地连接服务器的mysql的时候。
使用
systemctl status mysqld.service
或者
journalctl -xe
这两个命令,查看mysql日志信息,然后谷歌或者百度那个错误信息,说不定会柳暗花明呢
-