如果已有安装旧的mysql,删除
删除安装的mysql的方法:
输入以下命令删除mysql
sudo apt-get remove mysql-*
再输入以下命令清算残留的数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
进程中会弹出一个对话框是否删除数据,选择“yes”便可
安装
更新一下包列表
sudo apt-get update
安装Mysql 1
sudo apt-get install mysql-server mysql-client
过程中会提示你设置Mysql的密码,就跟平时的密码设置一样,一 次输入,一次确认。
密码确认完毕后基本等一会就安装好了。
尝试 1
mysql -u root -p
然后输入密码
如果登录成功,那Mysql就正确安装了。
配置
a. 1修改数据库配置信息
nano -w /etc/mysql/mysql.conf.d/mysqld.cnf
找到: 1
bind-address = 127.0.0.1
这行,注释掉(如下) 1
#bind-address = 127.0.0.1
或者改为 1
bind-address = 0.0.0.0
允许任意IP访问,或者自己指定一个IP地址。
b.然后重启 MySQL 1
sudo service mysql restart
c.授权用户远程登录 1 2 3 4
登录用户
mysql -u root -p
use mysql;
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。 root:授予root账号。 “%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。 password”:分配账号对应的密码。
d.通过mysql客户端连接到远程的MySQL数据库 在自己本地mysql客户端中输入: 1
mysql -h ip -u root -p;
其中ip是你访问数据库所在服务器的IP地址
扩展:MYSQL忘记或修改密码:
取消注释 skip-grant-tables,然后重启,相关命令:
nano -w /etc/mysql/mysql.conf.d/mysqld.cnf
sudo service mysql restart
(如果只是修改密码可省略这步)
输入命令:
mysql
然后进入操作台,然后
use mysql;
然后
UPDATE mysql.user SET authentication_string=password('123456') WHERE User='root' AND Host ='localhost';
然后
UPDATE user SET plugin="mysql_native_password";
然后
flush privileges;
quit 退出mysql,重启
数据迁移备份
1、停止新旧数据库
2、移除 /var/lib/mysql 路径下除 performance_schema 文件夹的其余文件。
3、拷贝旧数据库/var/lib/mysql 路径下除了 performace_schema、iblogfile_0,iblogfile_以外的所有文件到 /var/lib/mysql
4、现在/var/lib/mysql下面的文件来源和作用是:
performace_schema: 新,性能监控,它在5.6及其之前的版本中,默认没有启用,从5.7及其之后的版本才修改为默认启用。
数据库目录:老,具体存储数据的目录,每个数据库对应一个文件夹,文件夹的名字和数据库的名称一致。
ibdata1: 老,用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据、undo日志、修改buffer和双写buffer。
iblogfile_0,iblogfile_1: 新,日志文件,被删除了,重启后会重新生成
5、授权 chmod -R 777 /var/lib/mysql/
6、重启新数据库