ubuntu版本:20.04.1
mysql版本:8.0.23 for Linix on x86_64((Ubuntu))
常用命令:
service mysql start #启动服务器
service mysql stop #关闭服务器
sudo mysql -u root -p
mysql的配置文件地址:/etc/mysql/mysql.conf.d/mysqld.cnf
1 Mysql安装
1.1 安装mysql
sudo apt-get update #更新软件源
sudo apt-get install mysql-server #安装mysql
上述命令会安装以下包:
apparmor
mysql-client-8
mysql-common
mysql-server
mysql-server-8
mysql-server-core-8
因此无需再安装mysql-client等。默认安装完成就启动了mysql。
1.2 启动和关闭mysql服务器:
service mysql start #启动服务器
service mysql stop #关闭服务器
1.3 确认是否启动成功
mysql节点处于LISTEN状态表示启动成功:
sudo netstat -tap | grep mysql
Centos下正常,ubuntu好像会出错:“提示sudo:netstat找不到命令”
接下来键入命令:sudo apt-get install net-tools
再次 运行sudo netstat -tap | grep mysql
2 MySQL登录
2.1 配置及登录mysql
2.1.1 Mysql相关配置 (不需要配置)
可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。
(1)编辑配置文件。(这一步可以不做)
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8。
(3)重启MySQL服务。service mysql restart
(4)登陆MySQL(登录不上去的继续往下读),并查看MySQL目前设置的编码。
show variables like "char%";
2.1.2 mysql数据库登录
在终端键入命令:sudo mysql -u root -p 输入密码即可登录(这里随便输入一个密码都可以进入,进入之而后再根据对应的mysql版本输入语句修改密码,下次就可以不用sudo了)
2.2 解决ubuntu密码登录不上去问题
键入命令:cd /etc/mysql/mysql.conf.d
键入命令:sudo gedit mysql.cnf 打开文件加入:再[mysqld]位置下加入skip-grant-tables,注意前面不要加注释#,否则等于没加。之后保存并退出。这句话的目的是不用密码就可以直接登录。
插曲:我配置文件错写成skip-grand-tables了解过报错了,MySQL启动不了。sevice mysql start
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
本人的错误原因是由于配置文件导致的
说明以上错误原因可能会是由mysql配置文件出错导致。
然后输入两行命令:
service mysql restart #
mysql #启动mysql shell界面
然后键入以下两行代码:
mysql在8版本以下输入:
flush privileges;
alter user 'root'@'localhost' identified by 'your password’
8版本输入:
flush privileges;
alter user 'root'@'localhost' identified with caching_sha2_password by '你的密码'
然后就可以正常登录了。
我们可以查看mysql中的用户表信息。
use mysql;
select user,plugin from user;
注意:MySQL中每个命令后都要以英文分号;结尾。