linux安装MySQL5.7
因为我是全新的系统什么都没有所以先安装一些基本命令
①wget
[root@VM_0_3_centos ~]# yum -y install wget
②gcc
[root@VM_0_3_centos ~]# yum -y install gcc*
③pcre
[root@VM_0_3_centos ~]# yum -y install pcre pcre-devel
④zlib
[root@VM_0_3_centos ~]# yum -y install zlib zlib-devel
⑤openssl
[root@VM_0_3_centos ~]# yum -y install openssl openssl-devel
1.下载MySQL源安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.安装MySQL源
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
3.在线安装MySQL
yum -y install mysql-community-server
4.启动MySQL服务
systemctl start mysqld
5.设置MySQL开机启动
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload
6.修改MySQL登录密码(根据自己的需要,改不改都可以)
在/var/log/mysqld.log文件中有一个默认的密码
[root@localhost mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#如果是很简单的新密码MySQL的默认策略会不允许,修改策略后即可修改简单的密码
#设置mysql密码策略
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
# 第一条为修改为只需满足长度要求,第二条为设置长度最低为4,此处设置小于4也会按4处理
7.设置允许远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'king'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#注:king表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个123456表示密码
mysql> flush privileges;
mysql> exit;#然后退出
重启mysql
[root@localhost mysql]# service mysql restart
有的需要配置端口
[root@localhost mysql]# sudo ufw allow 3306
8.配置默认编码为utf8
PS:
有的linux 服务器上没有找到my.cnf文件,解决方法如下
Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
至于为什么没有这个文件而MySQL却也能正常启动和作用,在这有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL,
解决方法,只需要复制一个/usr/share/mysql目录下的my-medium.cnf文件到/etc目录,并改名为my.cnf即可。
修改/etc/my.cnf 配置文件
修改完保存后重启MySQL服务:
[root@localhost mysql]# systemctl restart mysqld
查看下编码:
mysql> show variables like '%character%'
-> ;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
到这里就OK了
最后加一点Linux下MySQL目录位置介绍
数据库文件默认在:cd /usr/share/mysql
配置文件默认在:/etc/my.cnf
———————————–
数据库目录:/var/lib/mysql/
配置文件:/usr/share/mysql(mysql.server命令及配置文件)
相关命令:/usr/bin
使用以下的命令找MySQL
find / -name "mysql" -print
mysql在/usr/local/mysql/下
在bin目录下有mysql_config文件打开后有:
ldata=’/usr/local/mysql/var’
rpm默认目录:
数据文件:/var/lib/mysql/
配置文件模板:/usr/share/mysql
mysql工具:/usr/bin
日志:/var/log/
pid,sock文件目录:/tmp/