安装
-
检查mysql是否已安装
rpm -qa | grep mysql -
检查是否有mysql用户组和mysql用户,没有就添加有就忽略
groups mysqlgroupadd mysql && useradd -r -g mysql mysql -
创建数据目录并赋予权限
mkdir -p /data/mysql; chown mysql:mysql -R /data/mysql -
修改配置文件 vi /etc/my.cnf (没有就新建)
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql # basedir填写自己mysql的路径 basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true # 表名不区分大小写 lower_case_table_names=1 -
初始化
将解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息) 执行以下命令
cd /usr/local/mysql/bin//usr/local/mysql/是mysql的解压路径
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize -
查看初始密码
cat /data/mysql/mysql.err -
启动mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlservice mysql start/usr/local/mysql/bin/mysql -u root -p -
修改密码
ALTER USER "root"@"%" IDENTIFIED BY "1234";上条命令执行失败的话执行下面这条,5.7.6之前用下面这条命令重置密码
SET PASSWORD = PASSWORD('Admin2022!');刷新
FLUSH PRIVILEGES; -
刷新规则允许外部访问
-- 选择访问mysql库 use mysql -- 使root能在任何host访问 update user set host = '%' where user = 'root'; -- 刷新 FLUSH PRIVILEGES; quit -
重启服务
service mysql restart -
若忘记密码可以用以下方式,无密码进入mysql
-- 在【mysqld】模块下面添加:skip-grant-tables 保存退出。 vim /etc/my.cnf -- 重启服务 service mysql restart -- 进入mysql /usr/local/mysql/bin/mysql -u root -p -- 直接回车即可进入
可能遇到的问题
问题1:Ubuntu 16.04 安装mysql5.7,Failed to start mysqld.service: Unit mysqld.service not found.