sudo netstat -tap | grep mysql
如果有信息显示mysql,说明就已经安装过了。
在安装过程中,系统将提示您创建root密码。选择一个安全的,并确保记住它,因为后面需要用到这个密码。实际操作中并未要求我创建密码。
sudo apt-get update #更新软件源
sudo apt-get install mysql-server #安装mysql
#安装的时候会提示要设置root密码,如果你没有在卸载的时候去清理残留数据是不会提示你去设置root密码的,可以用下面的方法修改密码
sudo apt-get install mysql-client mysql-server
#检查mysql是不是在运行
sudo service mysql status
sudo netstat -tap | grep mysql
mysql -u 用户名 -p 回车
一般安装完成之后都是会自动运行的,如果没有运行可以start
sudo service mysql start
关闭mysql服务
sudo service mysql stop
确认是否启动成功,mysql节点处于LISTEN状态表示启动成功
sudo netstat -tap | grep mysql
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
Ubuntu16安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码
mysql默认密码为空;
但是使用mysql -uroot -p 命令连接mysql时,报错
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’
此时需要修改默认密码即可。
进入到etc/mysql 目录下,输入sudo cat debian.cnf
命令,找到用户名及密码 ,使用此账号登录mysql。
或者在终端输入:sudo cat /etc/mysql/debian.cnf
直接查看debian.cnf文件。
用户名:debian-sys-maint
密码:Yl04PfkslzCVLEtT
登录:mysql -u debian-sys-maint -p Yl04PfkslzCVLEtT
在mysql中执行下面语句修改密码:
show databases;#查看所有数据库
use mysql; #连接到mysql数据库
# update user set authentication_string=PASSWORD("自定义密码") where user='root';
update user set authentication_string=PASSWORD("root123456") where user='root';#密码为:root123;用户名为:root。
update user set plugin="mysql_native_password";
flush privileges; #立即生效
quit;#退出
-- 记得语句的结果,一定要加 ; 哦
>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql> select User from user; #此处为查询用户命令
+-----------+
| User |
+-----------+
| ******* |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)
mysql> update user set password=password("*******") where user="*******"; #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>
终端输入:/etc/init.d/mysql restart; 重启mysql。
终端输入:mysql -u root -p 密码;
登录成功!
sudo service mysql start
或
sudo systemctl start mysql.service
sudo service mysql restart
或
sudo systemctl restart mysql.service
sudo service mysql stop
或
sudo systemctl stop mysql.service
sudo service mysql status
或
sudo systemctl status mysql.service
##5、 设置MySQL服务开机自启动
sudo service mysql enable
或
sudo systemctl enable mysql.service
sudo service mysql disable
或
sudo systemctl disable mysql.service
有时候,为了开发方便,我们需要使用本地电脑远程访问和管理MySQL数据库。默认情况下,为了安全MySQL只允许本地登录,如果要开启远程连接,则需要修改MySQL的配置文件:
正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问。
需要将 /etc/mysql/mysql.conf.d
目录下 mysqld.cnf
中的 bind-address = 127.0.0.1
注释掉。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
打开配置文件,找到bind-address = 127.0.0.1
这一行
改为bind-address = 0.0.0.0
即可或简单一点注释掉(前面加 “#”)也行。
修改完成保存后,需要重启MySQL服务才会生效。
在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host xxxxxxx is not allowed to connect to this MySQL server
是因为无法给远程连接的用户权限问题。
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称’%’。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。