参考网址:MySQL - Alpine Linux
mysql, 这里实际安装的是mariadb
进入root 账号
1,更新系统包
sudo apk update
创建mysql 账户,并在/home 创建mysql 文件夹
useradd mysql
passwd mysql
mkdir /home/mysql
chown mysql:mysql /home/mysql
2,安装mySQL
sudo apk add mysql mysql-client
,
3,初始化
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql(数据存储路径)
数据存储路径默认在,初始化可以更改:
datadir = /var/lib/mysql
/etc/init.d/mariadb
4,启动mysql
sudo rc-service mariadb start
登录mysql
mysql -u root -p
5,更改权限
执行:update user set host='%' where user='root';
因为MariaDB的user表是一个视图,所以执行的语句和Mysql有所不同,只需要执行如下语句即可:
rename user 'root'@'localhost' to 'root'@'%';
创建用户:create user '用户名'@'%' identified by '密码';
修改用户密码:alter user '用户名'@'%' identified by '密码';
删除用户:drop mysql.user '用户名'@'%';
授权用户:grant all on *.* to '用户名'@'%' identified by '密码' with grant option;
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码';
mysql> use mysql;
mysql> SELECT host,user,password from user;
mysql> flush privileges;
6,远程登录设置
将 vi /etc/my.cnf.d/mariadb-server.cnf 中bind-address = XXXX 加# 注释掉 或者改为 bind-address = 0.0.0.0
坑
此处有一个坑,alpine的 mariadb默认skip-networking 就是不监听tcp,需要一起去掉注释
7,重启
sudo rc-service mariadb restart
8,修改端口
vi /etc/my.cnf
# 在mysqlld节点下增加一行 port=端口号