mysql

分类:Linux,software 日期:2021-02-11 作者:admin 浏览:107

包管理器

ubuntu 18.04
centos 7
msyql 5.7.33

1.apt 安装 mysql

sudo apt install mysql.server

2.初始化 mysql

mysql_secure_installation

3.更改 root 登录

mysql -u root -p
use mysql;
update user set host='%' where user='root';
flush privileges; #刷新权限

4.修改配置并重启服务(注释掉 bind-address = 127.0.0.1 )

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart msyql.server

以上

遇到的小问题

刚装好并修改 host% 时 sql 语句执行有错误,
但是执行通过了,退出 mysql 后普通用户无法登录;
查询 mysql 库 user 表看到有两个 root 用户,删除一个即可.

二进制包安装

mysql5.7.33

1.下载tar包

mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
Linux - Generic

2.安装相关依赖

#ubuntu
sudo apt install zlib1g-dev build-essential libncurses5  libncurses5-dev libaio1 libaio-dev  libnuma1  libnuma-dev -y 

# centos
sudo yum install zlib-devel gcc-c++ ncurses ncurses-devel libaio libaio-devel -y

3.新建用户,创建目录

useradd mysql -s /sbin/nologin -M #新建用户,M不创建目录s不允许登录

tar -zxf 下载的 .tar.gz 文件  -C /usr/local/
ln -s 上面解压后的目录 /usr/local/mysql

mkdir -p /usr/local/mysql/data #创建数据目录
chown -R mysql.mysql /usr/local/mysql #更改文件夹组及归属

4.配置

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 最后会输出初始密码

4.配置服务和环境变量及配置文件

cp support-files/mysql.server /etc/init.d/mysqld #配置服务
chmod 700 /etc/init.d/mysqld
vi /etc/init.d/mysqld #第46-47行设置程序目录和数据目录

# 配置环境变量
cat>/etc/profile.d/mysql.sh<<EOF
export PATH=/usr/local/mysql/bin:\$PATH
EOF
或者
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh

# 写入配置文件(可选操作)
# mysql5.7.18 以后不提供my-default.cnf,即不需要设置my.cnf即可运行

cat >/etc/my.cnf<<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
server_id=1
socket=/tmp/mysqld.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
socket=/tmp/mysqld.sock
[client]
socket=/tmp/mysqld.sock
EOF

5.数据库改密

/etc/init.d/mysqld start 
mysql -u root -p #输入刚才输出的密码
set password for root@localhost=password('新密码');

UPDATE mysql.user SET password=PASSWORD("新密码") WHERE user='root' and host='localhost';
flush privileges;

参考目录

评论 (暂无评论)

发表评论

昵称:  
邮箱:  
网址: