mysql8.0安装备份

一、安装

操作系统ubuntu22

先确认是否安装过mysql。

1
$ dpkg -l | grep mysql #检测是否安装mysql

安装mysql

1
2
$ sudo apt-get install mysql-server
$ mysql --version #查看版本

mysql -uroot -p 进不去

默认密码不知道,MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空,先暂停mysql,用mysqld_safe启动,给authentication_string赋值,再修改密码

1
2
3
4
5
6
7
8
$ sudo /etc/init.d/mysql stop
$ sudo mkdir /var/run/mysqld
$ sudo chown mysql /var/run/mysqld
$ sudo mysqld_safe --skip-grant-tables&
$ mysql -uroot -p
mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> flush privileges;

重启服务

1
2
$ sudo killall -u mysql
$ sudo /etc/init.d/mysql start

二、在数据库插入数据

查看数据库

1
2
3
mysql> SHOW DATABASES;
mysql> CREATE DATABASE test_db;
mysql> use test_db;

创建表

1
2
3
4
5
6
7
create table tb_tmp01
(
id INT(11),
name VARCHAR(25)
);

show tables;

插入数据

1
2
insert tb_tmp01(id,name) value('01','小明');
select * from tb_tmp01;

三、备份

1
2
$ mysqldump -uroot -p123456 --all-databases >/home/fanyun/下载/all.sql
$ mysqldump -uroot -p123456 --databases test_db >/home/fanyun/下载/test_db.sql

四、恢复

1
$ mysql -uroot -p123456 test_db < test_db.sql

采用备份磁盘文件

1
2
$ tar -cvf sql.tar /usr/local/mysql/data #压缩
$ tar -xvf sql.tar #解包