Linux中安装mysql

  1. 检查当前系统是否安装过mysql
    [root@master ~]# rpm -qa|grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64 #已经存在

存在则先卸载

[root@master ~]# rpm -e --nodeps mariadb-libs
2. 检查当前mysql依赖环境
[root@yum ~]# rpm -qa|grep libaio
libaio-0.3.109-13.el7.x86_64 #已经存在

[root@master~]# rpm -qa|grep net-tools

不存在 net-tools 则安装

[root@master ~]# yum -y install net-tools
[root@master ~]# rpm -qa|grep net-tools
net-tools-2.0-0.25.20131004git.el7.x86_64 #已经存在
3. 上传 mysql 安装包到 Linux 的 /root/ apps/mysql目录下并解压
[root@master ~]# mkdir /root/apps/mysql
[root@master ~]# tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C /root/apps/mysql
4. 在mysql 的安装目录下执行:(必须按照顺序执行)
[root@master ~]# cd /root/apps/mysql/
[root@master mysql]# rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
[root@master mysql]# rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
[root@master mysql]# rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
[root@master mysql]# rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
5. 查看mysql 安装版本
[root@master mysql]# mysqladmin --version
mysqladmin Ver 8.42 Distrib 5.7.27, for Linux on x86_64
6. mysql 服务初始化
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化

[root@master~]# mysqld --initialize --user=mysql

查看初始化密码

[root@master mysql]# cat /var/log/mysqld.log
2023-02-23T15:07:07.206287Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-02-23T15:07:09.709911Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-02-23T15:07:10.091215Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-02-23T15:07:10.341979Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: beed8d86-b38b-11ed-9b25-000c29a13edb.
2023-02-23T15:07:10.346154Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

root@localhost后面就是初始化密码:kdpkjs4,kuD

2023-02-23T15:07:10.356366Z 1 [Note] A temporary password is generated for root@localhost: kdpkjs4,kuD
注意:另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码。

  1. 启动 mysql 服务

启动mysql服务

[root@master mysql]# systemctl start mysqld.service

设置开机启动mysql服务

[root@master mysql]# systemctl enable mysqld.service
停止mysql服务器:#systemctl stop mysqld.service

  1. 首次登录 mysql 和修改初始密码
    [root@master mysql]# mysql -uroot -p
    Enter password: #这里输入初始化密码
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.27
    mysql>

这里的初始化密码默认是过期的,查看数据库会报错如下:

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改密码(这里密码改为了 root)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.00 sec)

设置完密码就可以用新密码登陆,正常使用数据库了

  1. 修改字符集问题
    mysql5.7 默认不支持中文,所以直接插入中文数据报错

[root@master mysql]# vim /etc/my.cnf

行尾添加

character_set_server=utf8

重新启动mysql服务使修改配置生效

[root@master mysql]# systemctl restart mysqld
扩展:已生成的库表字符集如何变更

修改数据库的字符集

mysql> alter database mydb character set 'utf8';

修改数据表的字符集

mysql> alter table tableName convert to character set 'utf8';
10. 远程工具连接 MySQL 数据库
mysql 数据库默认只能本地访问,远程工具连接 mysql 需要授予远程访问权限

[root@master mysql]# mysql -uroot -p
Enter password: #这是输入修改后的密码root
mysql>

授予通过网络方式登录的的root用户 ,对所有库所有表的全部权限,密码设为 root

mysql> grant all privileges on . to root@'%' identified by 'root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
接着在 windows 系统下使用 Navicat 工具远程连接 Linux 的 MySQL 即可。

posted @ 2023-02-24 16:17  追こするれい的人  阅读(51)  评论(0编辑  收藏  举报