centOs7 tar包的 方式安装 mariadb 数据库 :
目录
centOs7 tar包的 方式安装 mariadb 数据库 :
下载二进制包:
https://mirrors.ustc.edu.cn/mariadb//mariadb-10.5.5/bintar-linux-systemd-x86_64/mariadb-10.5.5-linux-systemd-x86_64.tar.gz
使用wget下载即可
解压 tar -xzvf mariadb-10.5.5-linux-systemd-x86_64.tar.gz
查看说明文档:
vim README.md
查看安装文档:
vim INSTALL-BINARY
安装步骤说明:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql # 为解要目录建立连接文档,mysql默认路径
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql #该文件,为本机创建mysql 支持数据库, 到/var/lib/mysql
shell> chown -R root .
shell> chown -R mysql data
shell> mkdir -p /var/run/mariadb/
shell>touch /var/run/mariadb/mariadb.pid && chown -R mysql /var/run/mariadb/
shell> bin/mysqld_safe --user=mysql --socket=/var/lib/mysql/mysql.sock & # 使用此方法启动的mysq要使用kill关闭
本地mysql客户端登录:
[mysql_home]/bin/mysql --socket /var/lib/mysql/mysql.sock -u root -p
配置 systemctl 快速启动:
在解要包目录下有配置好的服务配置文件:
shell>cp -a [mysql_home]/support-files/systemd/m*.service /usr/lib/systemd/system/
systemctl [mysql_home]/daemon-reload
测试: (说明: 先查看myql是否启动, 如果启动就停掉)
ps -ef | grep msyql
kill <myql-PID>
然后使用systemctl 启动
shell> systemctl start mysql
shell> systemctl status mysql
shell> systemctl stop mysql
特别说明: 按照上述方式安装, mysql解要包创建的连接路径就是[mysql_home] ;
[mysql_home]=/usr/local/mysql
设置允许外部连接:
登陆mysql :
[mysql_home]/bin/mysql --socket /var/lib/mysql/mysql.sock -u root -p
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
官方参考: https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/
SELECT User, Host FROM mysql.user WHERE Host <> 'localhost'; //注意该user表在数据目录下只有表结构
且不能通过update 方式修改, 因为只能得到一个user表的视图, 无法直接修改数据 报错如下:;
update user set host='%' where user='root' and host='localhost';
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
方式一:
命令是为mysql.user 添加一个root用户 host为 192.168.% 并设密码为root 加密值, 表示192.168/16的网段都可以访问;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'root' WITH GRANT OPTION;
//host 为 % 表示任意ip都可以连接
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
// host 为 localhsot 表示只能由本地连接
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
//如果要取消外部连接: 可以使用delete 删除 host为非 localhsot的记录;
delete from user where user='root' and host <> 'localhost';
注意:删除后需要重新启动, 或者刷新缓存才可能禁止已建立的外部连接;
方式二: 使用mysqladmin设置登录密码:
shell>[mysql_home]/bin/mysqladmin -u root password 'newpassword' --socket /var/lib/mysql/mysql.sock
本地mysql客户端登录:
[mysql_home]/bin/mysql --socket /var/lib/mysql/mysql.sock -u root -p