Ubuntu 20.04 安装 mysql8 LTS
sudo apt-get update
sudo apt-get install mysql-server -y
mysql --version
mysql Ver 8.0.35-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
Ubuntu20.04 是自带了 MySQL8. 几版本的,低于 20.04 则默认安装是 MySQL5.7.33
systemctl status mysql.service
sudo netstat -tap | grep mysql
sudo service mysql start
sudo service mysql stop
进入MySQL,默认没有密码
以root 身份 进入 mysql shell
sudo mysql
sudo mysql -u root -p
show databases;#查看所有数据库
第一次的时候:
当前的用户和用户权限
select user from mysql.user ;
select host,user from mysql.user;
SELECT * FROM mysql.user WHERE user=‘root’\G
CREATE USER zhang3 IDENTIFIED BY ‘123123’; – 默认host是 %
CREATE USER ‘robofly’@‘localhost’ IDENTIFIED BY ‘123456’;
show grants for root@‘localhost’;
user_name@host_name,其中host_name是主机IP地址或主机名。
1)为了能够在本地访问MySQL,使用localhost 或回路地址127.0.0.1。
2)如果使用通配符%作为主机,则允许客户端指定用户从任意主机连接。
3)主机指定为127.0.0.1时,会通过TCP/IP协议连接,并且只能在本机访问;
4)主机指定为localhost时,localhost不会被解析成IP地址,直接通过UNIXsocket连接。
4、设置root 的密码
use mysql;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
5、刷新
flush privileges;
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#使得mysql可以远程登陆
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#注释掉这一行
#bind-address = 127.0.0.1
sudo service mysql restart
创建用户并授权
(root默认密码一般为123456)
mysql -u root -p
123456 //登录成功后会跳出来 mysql>
CREATE USER XXX IDENTIFIED BY 'ABC'; //XXX为用户名,'ABC'为密码,";"一定要加上
Grant all privileges on *.* to 'XXX'@'%' with grant option; //这里的'XXX'为用户名
flush privileges; //刷新权限
这样就完成了用户创建和授权,如果要查看用户有哪些,可以继续执行:
use mysql; //切换至mysql数据库(root用户自带mysql数据库)
select host,user from user; //查看用户列表
在命令行中输入以下命令:
mysql -h 远程主机IP地址 -u 用户名 -p 密码
其中,远程主机IP地址是指要连接的远程数据库服务器的IP地址,用户名和密码是远程数据库服务器的登录凭证。输入命令后,按回车键即可连接到远程数据库。
sudo mysql -u root -p
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
select host,user from mysql.user;
flush privileges;
远程连接
mysql -h 192.168.99.40 -u remote_user -p
SELECT USER();
如果你想查看当前用户的权限,请使用以下命令:
SHOW GRANTS FOR CURRENT_USER();
该命令将返回当前用户的所有权限。如果你想只查看当前用户拥有的特定权限,你可以使用以下命令:
命令:
mysql> select database();
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?
1.显示MYSQL的版本
mysql> select version();
11、查看表结构:describe <表名>;
12、当前所有连接的详细情况:show full processlist;(没有full,只显示前100个连接)
13、查看状态:show status like ‘%下面变量%’;
14、看表注释,字段注释;
show create table table_name;
show full columns from table_name;
show table status;