1、更新包信息
sudo apt-get update
2、安装MySQL
sudo apt-get install mysql-server
sudo apt-get install mysql-client
3、验证Mysql安装
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
查看mysql进程是否存在
ps -ef | grep mysql
查看mysql版本:
mysqladmin --version
4、登陆mysql数据库可以通过如下命令:
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
mysql -u root -p
然后通过 show databases; 就可以查看当前的数据库。
我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables
5、密码问题
就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,
完成后在终端输入mysql -u root -p之后,要求我输入密码,可是我并不知道密码,随便输入之后,
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
使用有效的方法是: 打开一个文件
sudo cat /etc/mysql/debian.cnf
在这个文件里面有着MySQL默认的用户名和用户密码,
最最重要的是:用户名默认的不是root,而是debian-sys-maint,如下所示
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = *****显示密码*****
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = *****显示密码*****
socket = /var/run/mysqld/mysqld.sock
密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码
mysql -u debian-sys-maint -p
然后终端会提示你输入密码
这是输入文件中的密码即可成功登陆。
当然了,这之后就要修改密码了,毕竟密码太难记。
经过度娘的指导,我所安装的版本是5.7,所以password字段已经被删除,取而代之的是authentication_string字段,所以要更改密码:
update mysql.user set authentication_string=PASSWORD('root'), plugin='mysql_native_password' where user='root';
如果显示:
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
flush privileges;
显示:
Query OK, 0 rows affected (0.00 sec)
则代表成功修改,之后需要*重启**MySQL,方可登录成功。
6、重启mysql
sudo service mysql restart
sudo service mysql start
sudo service mysql stop
7、删除mysql
顺便说一下删除MySQL的方法,省的之后再找度娘。
代码如下:
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
上面的可能会有些是多余的,之后需要清理残余数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
8、简单操作:
9、创建用户和权限
10、开放远程连接
update mysql.user set host = '%' where user ='root' limit 1;
flush privileges;