Centos7使用yum安装MySQL8和简单设置

参考:Centos7下MYSQL8安装
注意,文中的卸载内容我没有尝试过,尤其是其中的删除文件部分,请谨慎。

下载mysql的rpm源

地址:MySQL Yum Repository
下载MySQL的RPM源,安装成功后会自动覆盖MariaDB。下载完成后上传到服务器。有网络的话也可直接wget命令下载。

安装repo并更新yum缓存


[root@localhost ~]# rpm -ivh /home/wg/Downloads/mysql84-community-release-el7-1.noarch.rpm
# 要确保路径正确

[root@localhost ~]# ll /etc/yum.repos.d/ | grep mysql
-rw-r--r--. 1 root root 3070 Apr 22  2024 mysql-community-debuginfo.repo
-rw-r--r--. 1 root root 2751 Apr 22  2024 mysql-community.repo
-rw-r--r--. 1 root root 2870 Apr 22  2024 mysql-community-source.repo
# 可以看到在/etc/yum.repos.d/下生成两个repo文件

[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

[root@localhost ~]# yum repolist all | grep mysql
# 查看yum中的MySQL版本

安装和设置mysql

yum安装

[root@localhost ~]# yum -y install mysql-community-server
# 安装

[root@localhost ~]# systemctl start mysqld
# 开启服务

[root@localhost ~]# systemctl enable mysqld
# 开机自启

初次登陆和设置密码

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log 
2021-01-03T09:56:56.709802Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Hj9Vr2?sWqp
# 查看初始密码 Hj9Vr2?sWqp

[root@localhost ~]# mysql -u root -p
# 输入初始密码登录mysql
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.3

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

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> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
Query OK, 0 rows affected (0.07 sec)
# 修改为自己的密码,密码需要包含大小写字母数字和特殊符号

mysql> flush privileges;  
Query OK, 0 rows affected (0.04 sec)
# FLUSH PRIVILEGES命令在MySQL中用于刷新用户权限,使得对用户权限的更改立即生效,而无需重启MySQL服务器

mysql> CREATE USER 'wg'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
mysql> SHOW PLUGINS;
+----------------------------------+----------+--------------------+---------+---------+
| Name                             | Status   | Type               | Library | License |
+----------------------------------+----------+--------------------+---------+---------+
| binlog                           | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| sha256_password                  | ACTIVE   | AUTHENTICATION     | NULL    | GPL     |
| caching_sha2_password            | ACTIVE   | AUTHENTICATION     | NULL    | GPL     |
| sha2_cache_cleaner               | ACTIVE   | AUDIT              | NULL    | GPL     |
| daemon_keyring_proxy_plugin      | ACTIVE   | DAEMON             | NULL    | GPL     |
| CSV                              | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| MEMORY                           | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| InnoDB                           | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| INNODB_TRX                       | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP                       | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_RESET                 | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM                    | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMPMEM_RESET              | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_PER_INDEX             | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CMP_PER_INDEX_RESET       | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_PAGE               | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_PAGE_LRU           | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_BUFFER_POOL_STATS         | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TEMP_TABLE_INFO           | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_METRICS                   | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_DEFAULT_STOPWORD       | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_DELETED                | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_BEING_DELETED          | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_CONFIG                 | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_INDEX_CACHE            | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_FT_INDEX_TABLE            | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLES                    | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLESTATS                | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_INDEXES                   | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_TABLESPACES               | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_COLUMNS                   | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_VIRTUAL                   | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_CACHED_INDEXES            | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| INNODB_SESSION_TEMP_TABLESPACES  | ACTIVE   | INFORMATION SCHEMA | NULL    | GPL     |
| MyISAM                           | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| MRG_MYISAM                       | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| PERFORMANCE_SCHEMA               | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| TempTable                        | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| ARCHIVE                          | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| BLACKHOLE                        | ACTIVE   | STORAGE ENGINE     | NULL    | GPL     |
| FEDERATED                        | DISABLED | STORAGE ENGINE     | NULL    | GPL     |
| ndbcluster                       | DISABLED | STORAGE ENGINE     | NULL    | GPL     |
| ndbinfo                          | DISABLED | STORAGE ENGINE     | NULL    | GPL     |
| ndb_transid_mysql_connection_map | DISABLED | INFORMATION SCHEMA | NULL    | GPL     |
| ngram                            | ACTIVE   | FTPARSER           | NULL    | GPL     |
| mysqlx_cache_cleaner             | ACTIVE   | AUDIT              | NULL    | GPL     |
| mysqlx                           | ACTIVE   | DAEMON             | NULL    | GPL     |
| mysql_native_password            | DISABLED | AUTHENTICATION     | NULL    | GPL     |
+----------------------------------+----------+--------------------+---------+---------+
48 rows in set (0.00 sec)
# 尝试创建远程登录用户时发生了错误。查看插件安装情况,确认已经安装mysql_native_password插件,但是插件的状态不是active而是disabled即未激活。

创建远程用户并开放权限

怎么解决此问题呢?
参考:Mysql8设置密码规则为mysql_native_password
我们可以修改配置文件my.cnf,在其中加入内容:

[mysqld]
mysql_native_password=ON # 添加此行

不要添加defult_authentication_plugin=mysql_native_password,会导致mysql无法启动。
修改完毕保存退出,重启mysql服务。

[root@localhost ~]# systemctl restart mysqld
# 重启mysql服务

[wg@localhost ~]$ mysql -u root -p
# 登录mysql,可以用之前的show plugins;验证是否成功通过配置文件激活mysql_native_password插件。

mysql> CREATE USER 'wg'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.06 sec)
# 添加了一个用户wg,因为我们想用户wg可以远程登陆

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| wg               | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
# 查看用户使用的插件

mysql> ALTER USER 'wg'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.33 sec)
# 修改wg的密码认证方式

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
# FLUSH PRIVILEGES命令在MySQL中用于刷新用户权限,使得对用户权限的更改立即生效,而无需重启MySQL服务器

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| wg               | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
# 可以看到用户wg使用的认证方式已经更改过来

mysql> grant all privileges on *.* to 'wg'@'%';
Query OK, 0 rows affected (0.06 sec)
# 为用户wg开放权限

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

导入csv数据

csv数据示例:

"Date/Time","Lat","Lon","Base"
"9/1/2014 0:01:00",40.2201,-74.0021,"B02512"
"9/1/2014 0:01:00",40.75,-74.0027,"B02512"
"9/1/2014 0:03:00",40.7559,-73.9864,"B02512"
"9/1/2014 0:06:00",40.745,-73.9889,"B02512"
"9/1/2014 0:11:00",40.8145,-73.9444,"B02512"
"9/1/2014 0:12:00",40.6735,-73.9918,"B02512"
mysql> show  variables like '%secure%';
+--------------------------+-----------------------+
| Variable_name            | Value                 |
+--------------------------+-----------------------+
| require_secure_transport | OFF                   |
| secure_file_priv         | /var/lib/mysql-files/ |
+--------------------------+-----------------------+
2 rows in set (0.01 sec)
# 找到允许导入导出数据的目录

mysql> use uber;

mysql> CREATE TABLE rawdata_sep ( date DATETIME, lat DECIMAL(9,6), lon DECIMAL(9,6), base_code VARCHAR(10) );
Query OK, 0 rows affected (0.22 sec)
# 创建合适的表

mysql> LOAD DATA INFILE '/var/lib/mysql-files/uber-raw-data-sep14.csv' INTO TABLE rawdata_sep FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS
    -> (@var1,@var2,@var3,@var4)
    -> SET Date=STR_TO_DATE(@var1,'%m/%d/%Y %H:%i:%s'),
    -> lat=@var2,
    -> lon=@var3,
    -> base_code=@var4;
Query OK, 1028136 rows affected (17.52 sec)
Records: 1028136  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from rawdata_sep limit 10;
+---------------------+-----------+------------+-----------+
| date                | lat       | lon        | base_code |
+---------------------+-----------+------------+-----------+
| 2014-09-01 00:01:00 | 40.220100 | -74.002100 | B02512    |
| 2014-09-01 00:01:00 | 40.750000 | -74.002700 | B02512    |
| 2014-09-01 00:03:00 | 40.755900 | -73.986400 | B02512    |
| 2014-09-01 00:06:00 | 40.745000 | -73.988900 | B02512    |
| 2014-09-01 00:11:00 | 40.814500 | -73.944400 | B02512    |
| 2014-09-01 00:12:00 | 40.673500 | -73.991800 | B02512    |
| 2014-09-01 00:15:00 | 40.747100 | -73.647200 | B02512    |
| 2014-09-01 00:16:00 | 40.661300 | -74.269100 | B02512    |
| 2014-09-01 00:32:00 | 40.374500 | -73.999900 | B02512    |
| 2014-09-01 00:33:00 | 40.763300 | -73.977300 | B02512    |
+---------------------+-----------+------------+-----------+
10 rows in set (0.00 sec)


posted @   ganwong99  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示