Arch Linux 安装 MySQL 8.0

Step 1: 添加并更新源

mysql 位于 archlinuxcn 源下

添加 archlinuxcn 源: 编辑 etc/pacman.conf 文件, 追加以下内容

[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

更新源

sudo pacman -Syy

查看 mysql 信息: 使用 pacman -Si mysql

软件库         : archlinuxcn
名字           : mysql
版本           : 8.0.24-1
描述           : Fast SQL database server, community edition
架构           : x86_64
URL            : https://www.mysql.com/products/community/
软件许可       : GPL
组             : 无
提供           : mariadb=8.0.24  mysql=8.0.24
依赖于         : mysql-clients  libsasl  zlib  jemalloc  libaio  libtirpc  icu  lz4  libevent  systemd-libs  zstd  bash
可选依赖       : perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format, mysql_setpermission, mysqldumpslow
与它冲突       : mariadb
取代           : 无
下载大小       : 19.10 MiB
安装后大小     : 172.41 MiB
打包者         : lilac (on behalf of winstonwu91) <winstonwu91@gmail.com>
编译日期       : 2021年05月02日 星期日 14时20分27秒
验证者         : MD5校验值  SHA-256 校验值  数字签名

Step 2: 安装 Mysql

安装命令如下:

sudo pacman -Si mysql

安装成功之后, 会看到如下提示

# ... 此处省略不重要信息
:: You need to initialize the MySQL data directory prior to starting
   the service. This can be done with mysqld --initialize command, e.g.:
   mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql
:: Additionally you should secure your MySQL installation using
   mysql_secure_installation command after starting the mysqld service
:: 正在运行事务后钩子函数...
(1/3) Reloading system manager configuration...
(2/3) Creating temporary files...

Step 3: 初始化

这条初始化命令是怎么来的 ? 仔细查看 Step 2: 安装 Mysql 的输出信息, 即可找到

sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

注: 如果 /var/lib/mysql 目录非空,可能会初始化失败; 解决方法: 删除目录后,再执行初始化命令

执行结果如下:

2018-07-23T05:14:35.606101Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-07-23T05:14:35.606432Z 0 [System] [MY-013169] [Server] /usr/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 12937
2018-07-23T05:14:37.530922Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: gyLkhoMTo2.w

仔细查看输出信息你会发现, 默认已经创建了一个 SQL 用户,

  • 用户名: root@localhost
  • 密码: gyLkhoMTo2.w

密码是随机的, 以终端输出为准, 密码自己保存, 下面有用

Step 4: 启动 MySQL 服务

启动命令如下:

sudo systemctl start mysqld.service

查看 MySQL 服务状态

sudo systemctl status mysqld.service

输出如下: Active: active (running) 表示服务已经启动

● mysqld.service - MySQL database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-07-23 13:17:55 CST; 2s ago
  Process: 13063 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS)
 Main PID: 13062 (mysqld)
    Tasks: 38 (limit: 4915)
   Memory: 307.2M
   CGroup: /system.slice/mysqld.service
           └─13062 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid

如果希望 mysql 服务能开机自启, 执行以下命令

sudo systemctl enable mysqld.service

Step 5: 连接数据库

mysql -uroot -p

输入第三步: 密码即可连接成功

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.11
 
Copyright (c) 2000, 2018, 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> 

Step 6: 修改 root 密码

默认密码在未修改状态下, 无法执行很多命令

alter  user 'root'@'localhost' identified  by '123456';

Step 7: 创建新的用户

创建用户

create user 'demo'@'%' identified with mysql_native_password by '123456';

分配权限给用户

grant all privileges on *.* to demo@'%' with grant option;
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值