参考资料:http://www.cnblogs.com/Lam7/p/6253564.html
检查服务器是否以及装了mysql:
yum list installed | grep mysql
yum list installed | grep mariadb
上面检测到的所有都用下面这个卸载
rpm -e --nodeps mariadb-libs.x86_64
官网下载安装mysql-server:
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
安装成功后重启mysql服务。
# service mysqld restart
# rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7
执行
whereis mysql
可以看到 MySQL 的安装目录是 /usr/bin/
关闭服务器防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
打开服务器服务:
systemctl start firewalld.service
启动和关闭 MySQL Server
启动 MySQL Server
systemctl start mysqld
查看 MySQL Server 状态
systemctl status mysqld
关闭 MySQL Server(安装的时候不用执行此命令)
systemctl stop mysqld
测试是否安装成功
mysql
可以进入 mysql 命令行界面
下面是我自己想的,没试验;
( 如果你装软件在服务器上,关闭了防火墙,那么会不会不安全,所以你只许要给服务器开一个端口就行. )
防火墙设置
远程访问 MySQL, 需开放默认端口号 3306.
执行
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
这样就开放了相应的端口。
执行(上面执行开放端口后要执行reload后才能生效)
firewall-cmd --reload
注:查看已经开放的端口:firewall-cmd --list-ports
关闭端口号:firewall-cmd --remove-port=9998/udp --permanent
MySQL 安全设置
服务器启动后,可以执行
# mysql_secure_installation;
此时输入 root 原始密码(初始化安装的话为空),接下来,为了安全,MySQL 会提示你重置 root 密码,移除其他用户账号,禁用 root 远程登录,移除 test 数据库,重新加载 privilege 表格等,你只需输入 y 继续执行即可。
这里面设置的密码是,从本机访问数据库所需要的密码, 下面的那个命令是所有外部要连接此数据库需要输入的密码;
至此,整个 MySQL 安装完成。
下面可以看到都只能本机访问mysql,如果要外部可以访问mysql,那么host这里应该是显示%,所以这里我们可以选择重新创建一个用户并授予最高的权限,语句如下:
grant all privileges on *.* to 'root'@'%' identified by 'lam7' with grant option;
//这句话就是给root账户设置密码为lam7且host为%,即外部任何主机均可访问。*.*这个本意是数据库名.表名,我们这里没有写任何表名也没有写数据库名,就是意思所有的数据库都可以用这个root账户访问
flush privileges;//让刚刚修改的权限生效
然后接下来就是重启mysql服务,再次进入到mysql,用查询语句查看user表,如下所示:
到此所有都安装完毕;你在其他机器上连接这个数据库,输入root 和 lam7 就能连上了.
安装完成后,我们还需要做一点东西,就是改一下编码,如果不改我们插入中文就会乱码;
我们用:mysql -uroot -p进去mysql, 用命令:show variables like "%char%"
此时发现是latinl, 所以会乱码,我们要做的就是把它改为utf-8;
我们vim /etc/my.cnf
添加:[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
保存退出;
再用show variables like "%char%"测试下:
这样就可以了,保存中文就不会乱码;
注释:
mysql启动是用的/etc/my.cnf配置文件,我们要用事件 函数,就必须把event_scheduler设置为ON:event_scheduler=ON
在重启mysql
-----------------------------
2021-03-01 如果windos版的mysql安装没有设置root的密码,又想连: