1.官网下载
https://downloads.mysql.com/archives/community/
2.把安装包丢进服务器并解压
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
3.移动压缩包到 /usr/lcoal目录下,并重命名 然后进入mysql根目录,创建文件data
mv /root/mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql
4.创建MySQL用户组和MYSQL用户
groupadd mysql
useradd -g mysql mysql
5.对MYSQL目录进行授权
chown -R mysql.mysql /usr/local/mysql/
6.初始化数据库, 绿色框为密码
mkdir mysql_install_db
chmod 777 ./mysql_install_db
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower_case_table_names=1
7.修改my.cnf配置文件
vim /etc/my.cnf
添加内容
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
lower_case_table_names = 1
character-set-server = utf8
port = 3306
[client]
socket = /usr/local/mysql/mysql.sock
default-character-set=utf8
配置文件中可以配置log-error和pid-file两个参数的值,不改的话记得看下对应路径是否存在,否则下面会报错
8.配置MYSQL系统服务
拷贝启动文件,授权,检查服务是否正常
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
9.配置全局变量/etc/profile文件夹
export PATH_MYSQL=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH_MYSQL
是配置立刻生效: Source /etc/profile
10.启动MYSQL服务
service mysqld start
报错信息:
Starting MySQL.2021-05-07T03:45:54.240365Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid).
解决办法:新建路径并授权
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
11.登录并修改密码
mysql -uroot -p'上面生成的密码'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
报错:bash: mysql: 未找到命令…
原因:系统默认查找/usr/bin下的命令,命令不在
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是: /usr/local/mysql/bin/mysql,我们则可以这样执行命令:
解决:ln -s /usr/local/mysql/bin/mysql /usr/bin
设置远程访问:
use mysql;
update user set host='%' where user='root' limit 1;
刷新权限:
flush privileges;
开放数据库端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
或者添加用户使其允许远程访问链接(你的用户名和密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
重启防火墙:
systemctl restart firewalld.service
window上链接linux上的数据库
虚拟机IP地址 ,开放的数据库 端口,用户名,密码
转载:https://blog.csdn.net/qq_36756682/article/details/109622136