检查系统中是否已经安装了MySQL
在终端里面输入
sudo netstat -tap | grep mysql
若没有反应,没有显示已安装结果,则没有安装
如若已安装,可以选择删除。
安装MySQL
在终端输入
sudo apt-get install mysql-server mysql-client
在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可。
测试安装是否成功
- 方法一, 在终端输入 :
sudo netstat -tap | grep mysql
- 方法二, 在终端输入 :
mysql -u root -p
接下来会提示你输入密码,输入正确密码,即可进入
修改远程访问mysql(这个重要)
第一步:修改配置文件的端口绑定
打开的目录可能会根据MySQL的版本稍有不同,可以先尝试打开/etc/mysql/my.cnf这个配置文件,若该文件不存在或文件内容为空,则尝试下面的文件路径。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在下面行的开头加上#,注释掉该行,然后保存退出vim:
bind-address = 127.0.0.1
第二步:修改访问权限
进入mysql,输入如下命令,输入密码,进入mysql命令行
mysql -u root -p
授权root用户访问权限,并刷新权限,此处的root可用其它MySQL用户替换,password部分需替换为该用户对应的密码
grant all privileges on . to root@"%"identified by"password"with grant option;
flush privileges;
exit;
第三步:重启mysql服务
service mysql restart
修改MySQL数据库服务的默认字符集为utf8(如果是中文站的话, 这个重要)
这个非常有必要,因为如果不统一字符集为utf8,当你往数据库表中插入中文字符时会报错,或者显示乱码
检查数据库设置
show variables like '%colla%';
show variables like '%charac%';
检查数据库表的数据字符集
SELECT
`tables`.`TABLE_NAME`,
`collations`.`character_set_name`
FROM
`information_schema`.`TABLES` AS `tables`,
`information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations`
WHERE
`tables`.`table_schema` = DATABASE()
AND `collations`.`collation_name` = `tables`.`table_collation`
;
如果不是utf8的字符编码, 我们就修改下默认字符集
修改mysql.cnf文件
输入命令:
sudo vi /etc/mysql/conf.d/mysql.cnf
在[mysql]和[client]下添加内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
修改mysqld.cnf文件
输入命令:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]的下添加内容:
character-set-server=utf8
collation-server=utf8_general_ci
重启mysql服务:
service mysql restart
然后根据上面检查数据库设置的语句检查是否修改成功
遇到的另一个大坑
上面的配置文件修改完毕后, 在服务器端检查字符集配置都是utf8, 配置如下:
我在本地电脑使用MySQL Workbench登录这个数据库, 执行相同的命令show variables like '%charac%';, 配置如下:
重启mysql和重启Workbench都没生效, 后面请教了后端同学, 他让我执行了一下命令解决:
修改数据库字符集:
alter database <数据库名> character set utf8;
重启mysql服务:
service mysql restart
如果有之前创建的数据库表, 需要修改字符集, 运行命令:
ALTER TABLE 表名 CONVERT TO CHARACTER SET 'utf8' COLLATE utf8_general_ci;
参考链接: