一、MYSQL安装

这里是 服务端和客户端同时进行安装,方便服务器也能访问和操作mysql数据库。

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install install libmysqlclient-dev

安装过程中会提示输入 Y/N,统一输入 Y 即可。 检查是否安装成功,可输入以下命令查看:

sudo netstat -tap | grep mysql

二、root用户配置

部分版本安装过程中会提示输入 root 密码,输入后mysql就自动添加了root用户的账号和密码。已经添加了可以跳过本章节。

1、默认配置查询

sudo vim /etc/mysql/debian.cnf

ubuntu里mysql导入数据表 ubuntu数据库_mysql


直接用框选的 user 和 password 进行登陆。

sudo mysql -u debian-sys-maint -p

提示输入密码,输入配置中的 password后面的值,注意大小写。

2、修改root用户名和密码

查询 user表,查看表中关于 root的相关信息。

select user,authentication_string,plugin,host from mysql.user;

ubuntu里mysql导入数据表 ubuntu数据库_ubuntu_02


因为没有设置root密码,这里 的authentication_string 默认为空的,需要手动修改为我们想用的密码。

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root密码';

ubuntu里mysql导入数据表 ubuntu数据库_root用户_03

3、授权并重启mysql

这步很重要,只有重新刷新服务,上面的修改才会生效

# 重新授权
FLUSH PRIVILEGES;

# 退出 并重启mysql
sudo service mysql restart

三、远程访问设置

安装mysql,权限和地址都是和本地进行绑定的,也只能本地进行访问,不允许外部地址进行远程访问,以下也是针对localhost进行处理。

mysql 只用于本地访问,可以忽略本章内容。

1.授权给远程电脑登陆权限

# 用root用户登陆
sudo mysql -u root -p

ubuntu里mysql导入数据表 ubuntu数据库_数据库_04

# 输入授权语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;

# 刷新配置信息
FLUSH PRIVILEGES;

注意 'root'@'%' 是一个整体地址,中间不能有空格等字符

ubuntu里mysql导入数据表 ubuntu数据库_数据库_05


ubuntu里mysql导入数据表 ubuntu数据库_mysql_06

2、修改配置文件

主要是注释掉 bind-address 这个对本地的绑定。

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

ubuntu里mysql导入数据表 ubuntu数据库_root用户_07


出现这样的界面,说明文件找对了,配置文件中有对应的端口,文件和数据存放的路径等配置,可根据实际情况进行修改。

用键盘上下键移动游标(部分鼠标也行,不建议)找到 bind-address 配置,在前面加上 # 注释掉,然后保存文件。

ubuntu里mysql导入数据表 ubuntu数据库_root用户_08


ubuntu里mysql导入数据表 ubuntu数据库_数据库_09

3、重启mysql服务

不管修改了什么配置,都需要重启服务,否则配置都不会生效。

sudo service mysql restart

这时候再查看mysql状态,就能发现,监听地址变成了 [::]

sudo netstat -tap | grep mysql

ubuntu里mysql导入数据表 ubuntu数据库_数据库_10

用数据库可视化软件远程登陆试试。

ubuntu里mysql导入数据表 ubuntu数据库_root用户_11


如果登陆还是不行,初始化mysql安全脚本后再试!

sudo mysql_secrue_installation

总结

1、注意 msyql 的root用户是很重要的,账号密码都要记住。
2、操作数据库推荐创建非管理员权限的用户,用root用户对其他用户进行权限管理,避免其他用户权限过高而对数据进行操作不当带来损失(删库跑路?)
3、配置和数据修改都要对服务进行重启操作,避免不生效的情况。