Ubuntu18.04系统安装并配置mysql

Ubuntu18.04系统安装并配置mysql

  • 1、查看有没有安装MySQL
  • 2、安装MySQL
  • 3、检查是否安装成功
  • 4、查看数据库服务状态
  • 5、登录mysql数据库
  • 6、MySQL初始配置
  • 7、修改root账户密码认证方式
  • 8、配置MySQL允许远程访问
  • 其他操作

1、查看有没有安装MySQL

  • linux命令:dpkg -l | grep mysql

  • dpkg命令的英文全称是“Debian package”,故名意思是Debian Linux系统用来安装、创建和管理软件包的实用工具。dpkg -l 命令会列出系统中所有已安装的软件包信息。结合grep,可以过滤出自己想要的内容。

    命令选项:
    	-i:安装软件包;
    	-r:删除软件包;
    	-P:删除软件包的同时删除其配置文件;
    	-L:显示于软件包关联的文件;
    	-l:显示已安装软件包列表;
    	--unpack:解开软件包;
    	-c:显示软件包内文件列表;
    	--confiugre:配置软件包。
    

Ubuntu18.04系统安装并配置mysql_第1张图片

  • 输出列的说明:
    • 第一列:一般为两个字母,分别代表(期望状态和当前状态)最常见的就是上图中的 ii

    在出错情况下会是三个字母,一般为iHR(期望安装,安装不完全,需要重装) 一般在安装过程中强行Ctrl-C就会出现这样的问题。

    期望状态标识:
    	未知(u)
    	安装(i)
    	删除(r)
    	清除(p)
    	保持(h)
    当前状态标识:
    	未安装(n)
    	已安装(i)
    	仅存配置(c)
    	仅解压缩(U)
    	配置失败(F)
    	不完全安装(H)
    	触发器等待(W)
    	触发器未决(T)
    错误标识:
    	无
    	需重装(R)
    

    一般我们系统中最常见的就是ii(期望安装,并且已正常安装)。还有一种比较常见的是rc(期望卸载,目前仅仅保留了一些配置信息)。 错误的情况比较少见,我这里故意把一个包安装失败,通过dpkg -l 显示的状态是iF(期望安装,安装配置失败)

    • 第二列:软件包名称
    • 第三列:软件包版本号
    • 第四列:软件包支持的体系结构
    • 第五列:软件描述信息
    • 输出来源:系统中所有的安装的包的内容都被记录在:/var/lib/dpkg/statusdpkg -l 命令就是读取的这个文件中的内容进行显示。

2、安装MySQL

  • linux命令:sudo apt install mysql-serversudo apt install -y mysql-server

后面命令中的-y表示:当安装包的时候会询问y/n,这个参数是所有询问默认y,直接下载安装,不再要求确认。

3、检查是否安装成功

  • linux命令:netstat -tap | grep mysql

通过上述命令检查之后,如果看到有 mysql 的 socket 处于 LISTEN 状态则表示安装成功。

Ubuntu18.04系统安装并配置mysql_第2张图片

4、查看数据库服务状态

  • linux命令:service mysql statussystemctl status mysql

执行命令后出现 active(running) 则表示已启动

Ubuntu18.04系统安装并配置mysql_第3张图片

注:操作数据库的一些其他命令:
查看数据库的编码方式命令:show variables like 'character%';
查看MySQL数据库状态:service mysqld statusservice mysql status
启动MySQL: service mysql start
停止MySQL: service mysql stop
重启MySQL: service mysql restart
连接Mysql: mysql -uroot -proot (mysql -u用户名 -p密码)
查看Mysql数据库:show databases;
创建数据库:create database name;
直接删除数据库,不提示:drop database name;
使用数据库:use mysql; (use 数据库名;)

5、登录mysql数据库

  • linux命令:mysql -u root -p

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,新安装的mysql数据库是没有密码的,
Enter password: 处直接回车,就能够进入mysql数据库。

Ubuntu18.04系统安装并配置mysql_第4张图片

  • linux命令:show databases; 就可以查看当前的所有数据库。
    Ubuntu18.04系统安装并配置mysql_第5张图片

6、MySQL初始配置

  • linux命令:mysql_secure_installation

为了确保数据库的安全性和正常运转,对数据库进行初始化操作。这个初始化操作涉及下面5个步骤。

(1)安装验证密码插件。

(2)设置root管理员在数据库中的专有密码。

(3)随后删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性。

(4)删除默认的测试数据库,取消测试数据库的一系列访问权限。

(5)刷新授权列表,让初始化的设定立即生效。

root@zwp:/home/zwp# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?  #要安装验证密码插件吗?

Press y|Y for Yes, any other key for No: N  # 这里我选择N
Please set the password for root here.

New password: # 输入要为root管理员设置的数据库密码

Re-enter new password: # 再次输入密码
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y # 删除匿名账户
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n  # 禁止root管理员从远程登录,这里我没有禁止

 ... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y  # 删除test数据库并取消对它的访问权限
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y  # 刷新授权表,让初始化后的设定立即生效
Success.

All done!

7、修改root账户密码认证方式

  • 连接到Mysql:mysql -uroot -psudo mysql -uroot -p

  • 查看用户:mysql> select user, plugin from mysql.user;
    Ubuntu18.04系统安装并配置mysql_第6张图片

  • 重置Root密码,修改认证方式:

    mysql> update mysql.user set authentication_string=PASSWORD('root'), plugin='mysql_native_password' where user='root';
    Query OK, 1 row affected, 1 warning (0.05 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
    mysql> flush privileges;  # 刷新权限
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> exit  # 退出
    

    重置成功后,需使用新密码登录。

8、配置MySQL允许远程访问

1、首先编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件:

  • linux命令:vim /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉 bind-address = 127.0.0.1 如下图:
Ubuntu18.04系统安装并配置mysql_第7张图片
2、保存退出,然后进入mysql数据库,执行授权命令:

mysql -uroot -p
mysql> grant all on *.* to ‘root’@‘%’ identified by ‘password’ with grant option; # 授权
mysql> flush privileges; # 刷新权限
mysql> exit # 退出

root@zwp:/home/zwp# mysql -uroot -p
Enter password: 

mysql> grant all on *.* to 'root'@'%' identified by 'root' with grant option;
Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

其中'root'@'%''localhost'就是本地访问,配置成%就是所有主机都可连接;第二个'root'为你给新增权限用户设置的密码。

3、再执行如下命令重启mysql:

  • linux命令:systemctl restart mysqlservice mysql restartsudo /etc/init.d/mysql restart

4、在 Windows 下可以使用 Navicat 图形化工具远程连接 Ubuntu 下的 MySQL 数据库,输入刚授权远程权限的密码。

Ubuntu18.04系统安装并配置mysql_第8张图片

其他操作

1、查看端口:在SQL中执行下面 linux 命令

  • linux命令:show global variables like 'port';
    Ubuntu18.04系统安装并配置mysql_第9张图片

你可能感兴趣的:(Linux,mysql,linux,debian,ubuntu)