下面记录了如何在ubuntu16.04上安装mysql5.7的方法。
sudo apt install mysql-server
安装时会让你输入mysql root
用户的密码,并确认密码
sudo apt install mysql-client
然后可以通过
ps aux|grep mysql
查看mysql是否安装成功并且已经启动
再通过
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # centos上配置文件是 /etc/my.cnf
修改
bind-address = 127.0.0.1
为
bind-address = 0.0.0.0
这样的话,mysql才能监听远程的请求
一般,生产环境中,不建议直接使用root,我们通过mysql客户端新建一个用户weibospider
,并给它赋予权限
mysql -u root -p
然后输入 安装mysql的时候输入的密码,进入mysql命令行后
grant all on *.* to weibospider@'%' identified by '123456';
这里我们并未先创建一个用户,而是直接运行赋权限的语句,它在执行的时候会先看有不有weibospider
这个用户,有就使用,没有就创建,这里我们给该用户设置的密码是123456
,权限*.*
表示所有权限
然后再在mysql命令行中刷新一下
flush privileges;
最后重启mysql使之生效
sudo /etc/init.d/mysql restart
上述是mysql5.7的安装过程,顺利的话,我们已经可以连接并且使用mysql了,但是由于mysql server默认编码是latin1
,我们还需要做一些修改。先通过
show VARIABLES LIKE '%char%';
查看mysql编码,发现
character_set_server latin1
character_set_database latin1
我们先通过
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]
域下加上以下内容
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake = true
最后,在该文件中添加下面内容
[mysql]
default-character-set=utf8mb4
然后重启mysql即可
sudo /etc/init.d/mysql restart
建议大家使用可视化工具(比如navicat或者datagrip)来操作mysql数据库
centos上安装mysql可以参考这篇文章
安装好后,mysql的root默认密码可以通过
grep "temporary password" /var/log/mysqld.log
来获取。然后再通过
SET PASSWORD = PASSWORD('yourpassword');
设置新密码。注意这里需要设置复杂密码,否则设置不会成功。