安装 Mysql
检查mysql
-
检查是否已经安装过mysql
rpm -qa | grep mysql
如果已存在,则执行删除命令 后边为Mysql目录
rpm -e --nodeps mysql-xxxx -
查询所有Mysql对应的文件夹
whereis mysqlm
find / -name mysql
删除相关目录或文件
rm -rf -
检查mysql用户组和用户是否存在,如果没有,则创建
检查: groupadd mysql
添加: groupadd mysql && useradd -r -g mysql mysql
再次检查: groupadd mysql
下载 mysql
-
wget方式下载 mysql 包(这里没用到)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -
官网下载 mysql 包
官网地址: https://downloads.mysql.com/archives/community/
版本: Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive
(mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz)
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。
上传及解压
-
使用filezilla工具连接linux
xxx
把 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 放到目录 /usr/local 下 -
解压
cd /usr/local
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
在 /usr/local 下生成文件夹: mysql-5.7.24-linux-glibc2.12-x86_64 -
重命名为 mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql -
在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data -
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
文件配置
-
创建文件
cd /usr/local/mysql
touch mysql.err -
修改配置文件
vim /etc/my.cnf
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
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
log-error=/usr/local/mysql/mysql.err
pid-file=/usr/local/mysql/mysql.pid
备注:
lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;
- 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --initialize
***报错: ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory ***
解决方案: yum -y install numactl
- 查看初始密码
上一条命令,查找 localhost
less /usr/local/mysql/mysql.err
搜索: localhoste
启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
报错: Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/mysql.pid).
清空 /usr/local/mysql/data 里的内容,并重新初始化,再启动
启动后的操作
-
添加软连接,并重启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 -
登录mysql,修改密码(密码为步骤4生成的临时密码)
登陆: mysql -u root -p
修改密码: set password for root@localhost = password(‘123456’); -
开放远程连接(登陆 mysql 后)
use mysql;
update user set user.Host=‘%’ where user.User=‘root’;
flush privileges;
设置开机自启动
-
将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld -
赋予可执行权限
chmod +x /etc/init.d/mysqld -
添加服务
chkconfig --add mysqld -
显示服务列表
chkconfig --list
忘记密码
-
停掉mysql服务
service mysql stop -
修改/etc/my.cnf 文件
vim /etc/my.cnf
增加: skip-grant-tables
作用: 登陆是跳开密码校验 -
重启服务,使配置生效
service mysql restart -
登陆
mysql -u root -
修改密码 依次执行以下操作
use mysql
update mysql.user set authentication_string=password(‘123456’) where user=‘root’;
flush privileges; -
修改/etc/my.cnf 文件
vim /etc/my.cnf
删除: skip-grant-tables -
重启mysql服务
service mysql restart