Ubuntu 系统 安装mysql 笔记
操作系统
Linux VM-0-14-ubuntu 4.15.0-54-generic
mysql 版本
mysql-server-5.7
1、安装之前查看系统是否有默认安装的mysql版本
#mysql 指服务名称
dpkg --list|grep mysql
例
ubuntu@VM-0-14-ubuntu:/var$ dpkg --list|grep mysql
ii mysql-client 5.7.29-0ubuntu0.18.04.1 all ...
ii mysql-client-5.7 5.7.29-0ubuntu0.18.04.1 amd64 ...
ii mysql-client-core-5.7 5.7.29-0ubuntu0.18.04.1 amd64 ...
ii mysql-common 5.8+1.0.4 all ...
ii mysql-server 5.7.29-0ubuntu0.18.04.1 all ...
ii mysql-server-5.7 5.7.29-0ubuntu0.18.04.1 amd64 ...
ii mysql-server-core-5.7 5.7.29-0ubuntu0.18.04.1 amd64 ...
2、如果有可以先卸载
#卸载 mysql 这里注意权限问题
#1.第一步,常规卸载
sudo apt-get purge 软件名 //卸载软件
#2.第二步,清理一些不需要的文件(可以直接从第二步开始,autoremove后加软件名)
sudo apt-get autoremove //自动清理一些程序
#或
sudo apt-get autoclean
#3.第三步,删除不需要的配置文件 (软件名可以不传)
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P (软件名)
#4.第四步,更新本地缓存
sudo apt-get update //更新本地缓存文件
#关于清楚配文件命令
1) dpkg -l
列出系统中安装的所有包的状态,`ii' 开头的是正常安装的包,`rc'开头的则是删除但仍留下配置文件的包
,其他状态则是有错误的状态,自己执行一次就明白了,输出结果的开头有说明的。
2) grep "^rc"
提取以 rc 开头的包,也就是被删除但仍残留配置文件的包的信息的行。
3) awk '{print $2}'
打印这些包的名字,他们位于 dpkg -l 输出结果的第二个字段,估计有很多人是通过这个命
令认识到 awk 的,也有很多人只在这个命令行中才使用 awk,我就是其中之一。
4) xargs apt -y purge
把上述输出,也就是要清除配置文件的包的名字放在 apt -y purge 后面,purge命令会清除配置文件,
而 -y 参数会自动对后面 apt 命令的提示回答是,这个开关通常是危险的,所以在一般情况下不要轻易使用,
而在这里,如果你确定这些包的配置文件的清除是没有问题的的话,可以使用这个开关
3、卸载完成后开始安装(本次安装默认版本)
#安装 mysql-client mysql-server 中途会有一次交互 直接输入 Y 即可
sudo apt-get install mysql-client mysql-server
4、安装完成后
#查看服务启动状态,可用于判断是否安装成功
service mysql status
启动状态 Active: active (running)
#执行后查看 Active 是否为 running
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-03-11 15:12:27 CST; 11min ago
Main PID: 23154 (mysqld)
Tasks: 27 (limit: 2123)
CGroup: /system.slice/mysql.service
└─23154 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Mar 11 15:12:26 VM-0-14-ubuntu systemd[1]: Starting MySQL Community Server...
Mar 11 15:12:27 VM-0-14-ubuntu systemd[1]: Started MySQL Community Server.
未启动 Active: inactive (dead)
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2020-03-11 15:29:55 CST; 16s ago
Main PID: 23154 (code=exited, status=0/SUCCESS)
Mar 11 15:12:26 VM-0-14-ubuntu systemd[1]: Starting MySQL Community Server...
Mar 11 15:12:27 VM-0-14-ubuntu systemd[1]: Started MySQL Community Server.
Mar 11 15:29:54 VM-0-14-ubuntu systemd[1]: Stopping MySQL Community Server...
Mar 11 15:29:55 VM-0-14-ubuntu systemd[1]: Stopped MySQL Community Server.
5、修改配置文件
#启动成功后,如果安装的时候有设置密码,可以尝试登陆,我这里需要先修改配置文件
#进入到mysql配置文件默认的存放位置,查看可用于登陆的账户和密码
cd /etc/mysql/
#ls -l 可以看到一个文件 debin.cnf
... 4096 Mar 11 15:12 conf.d
... 317 Mar 11 15:12 debian.cnf
... 120 Jan 21 22:10 debian-start
# 进入文件找到user 和 password,这里需要用管理员权限打开,不然会是空白文档
sudo vim debian.cnf
6、登陆mysql
#这里有一点,-h 和 -u 后面可以跟空格 但-p后面不能有空格,否则会被解析为数据库名
#例:mysql -h 127.0.0.1 -u username -ppassword mysql(这里指登陆成功后直接使用mysql库)
mysql -h 127.0.0.1 -u 用户名 -p密码
7、修改设置,允许远程连接(如果不需要可以不开启)
--数据库修改
update -- 允许远程连接,默认值为loclhost(只允许本地连接)
user set host = '%' ,
--将模式改为mysql_native_password 默认未 auth_socket
plugin = 'mysql_native_password' ,
--密码设置,默认root账户为空密码
authentication_string = PASSWORD('新密码')
where user = 'root';
-- 这里注意,host 和 plugin 要同时修改,否则无法远程连接
#mysql 配置文件修改
cd /etc/mysql/mysql.conf.d/
#打开 mysql.cnf
mysqld.cnf mysqld_safe_syslog.cnf
#修改
bind-address = 127.0.0.1 ---> bind-address = 0.0.0.0
#重启mysql
service mysql restart
8、远程连接服务器mysql
配置到此便可以远程连接服务器的数据库了
9、结尾
连接成功后建议使用工具把root用户的修改还原,并使用新建的用户连接使用,
酌情处理初始账户debian_sys_maint;