好久不搭建,突然发现一些问题,这里记录下解决方式
1、下载mysql的包:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
2、或者上传包解压:tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
3、解压完成后复制下面命令 移动这个目录到/usr/local目录下,并修改名字为mysql,
mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql
4、复制下面的命令:在/usr/local/mysql目录下创建data目录(一定需要在这个目录中创建!)
mkdir /usr/local/mysql/data
5、修改mysql目录的下所有的目录及文件夹的用户组和用户的权限。(一步一步运行下面命令)
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
6、使用下面命令添加mysql用户(可以不需要)
groupadd mysql
useradd -r -g mysql mysql
7、进行 mysql 编译和初始化, 提前cd到一下目录下
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
创建好对应的目录/usr/local/mysql/data 和/usr/local/mysql
初始化的时候 会有初始密码:这里记得保存
8、只是初始化了 mysql5.0 后就不会自带 my.cnf 文件, 需要我们自己创建 ,直接在对应的mysql的目录下创建文件
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
9、启动服务
/usr/local/mysql/support-files/mysql.server start
10、添加mysql 软连接并重启mysql服务。
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
11、登录mysql ,并修改初始密码!
mysql -u root -p
修改对应密码
set password for root@localhost = password('123456');
正常情况可以进入,如果提示密码错误等类似问题,下面是解决方案
12、在上面my.cnf文件的[mysqld]添加的skip-grant-tables ,跳过密码,重启动服务:service mysql restart
13、mysql -u root -p 进入直接跳过密码
14、执行set password for root@localhost = password(‘123456’); 如果报错类似:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
直接输入:flush privileges;
再次输入set password for root@localhost = password(‘123456’);
为避免麻烦,再次设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
退出:exit; 即可