MySQL安装、修改密码、数据文件迁移等

1. mysql安装

命令安装(实际版本号根据自己需要来):

sudo apt-get install mysql-server-5.7 

2. 修改密码

mysql安装完成后,需要设置初始密码。方法:

sudo cat /etc/mydql/debian.cnf #记录下其中的user和password字段内容

结果如下(示例。如果没有,还可以去/var/log/mysql.log或者/var/log/mysql/error.log,找是否有临时的用户名和密码):

MySQL安装、修改密码、数据文件迁移等

然后修改密码:

mysql -u用户名 -p密码  # 使用上一步找到的用户名和密码
use mysql  # 切换到mysql库
update user set authentication_string=password('新的密码') where user = 'root'; # 修改root的密码
flush privileges;  # 使设置生效
quit   # 退出mysql
# 接下来使用新的密码登录mysql就行了

注意,上述方法若是不成功,还可以这样做/etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]属性下面,加上跳过认证的选项,skip-grant-tables,如下:

MySQL安装、修改密码、数据文件迁移等

然后重新启动mysql服务:

sudo service mysql stop    # 关闭mysql服务
sudo service mysql start    # 启动mysql服务

此时可以直接进入mysql

mysql -uroot  # 加上skip-grant-table后,此时不用输入密码了

进入后修改密码就可以,

use mysql  # 切换到mysql库
update user set authentication_string=password('新的密码') where user = 'root'; # 修改root的密码
flush privileges;  # 使设置生效
quit   # 退出mysql

最后需要把/etc/mysql/mysql.conf.d/mysqld.cnf中的skip-grant-tables注释掉(使用#号)或者直接删掉。

MySQL安装、修改密码、数据文件迁移等

再次重启mysql服务,使新的设置生效。

使用新的用户名和密码登录即可。

3. 数据文件迁移

mysql数据库文件默认在/var/lib/mysql目录下,配置文件在/etc/mysql/mysql.conf.d/mysqld.cnf,使用命令查看配置文件:

cat /etc/mysql/mysql.conf.d/mysqld.cnf 

结果如下:

MySQL安装、修改密码、数据文件迁移等

注意配置文件的datadir变量,与实际数据库文件的位置是一致的。

接下来,关闭mysql服务:

sudo service mysql stop

将原先数据库目录,拷贝到新的数据库目录下,保持文件权限的一致性:

sudo cp -ra /var/lib/mysql /data #/data改成实际路径  

/etc/mysql/mysql.conf.d/mysqld.cnf中的datadir改为修改后的目录。

MySQL安装、修改密码、数据文件迁移等

重新启动mysql服务。

sudo service mysql start