一、卸载系统自带的相关
安装前准备
1.首先检查系统中是否存在使用rpm安装的mysql或者mariadb,如果有需要先删除后再编译安装。
由于MySQL在CentOS7中收费了,所以在CentOS7内部默认集成的数据库改为MariaDB,MariaDB是mysql的一个分支,所以MySQL可能会和MariaDB文件有冲突,所以依然需要继续下载掉MariaDB。
1.rpm -qa | grep mysql #检查是否安装了mysql
2.rpm -qa | grep mariadb #检查是否安装了mariadb
3.rpm -e xxx #一般使用此命令即可卸载成功
4.rpm -e --nodeps xxx #卸载不成功时使用此命令强制卸载
接下来查询mysql的配置文件
sudo find / -name mysql
使用如下命令进行清除:
sudo rm -rf xxx
二 安装MySQL
进入MySQL Community Downloads官网下载自己需要的安装包,如下图:
2.在linux中新建目录(笔者目录名为mysql)存放mysql文件(笔者目录位置在usr/local)
3.将下载好的mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz上传到usr/local/mysql目录中
4.切换到usr/local/mysql下,解压文件
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz //解压.tar.xz文件
tar -zvxf mysql-8.0.21-linux-glibc2.12-x86_64.tar.gz //解压.tar.gz文件
6.重命名解压文件
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql
9.为系统添加mysql 组和用户:
groupadd mysql
useradd -r -g mysql mysql
10.进入 /usr/local/mysql 目录下,修改相关权限:
//修改当前目录为mysql用户
chown -R mysql:mysql ./
11.mysql初始化操作,记录下临时密码,之后第一次登录的时候会用到。
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //运行完成会生成一个暂时的密码。
12.查看初始化过程中有没有自动生成my.cnf 文件
cd /etc/ //进入 /etc/目录下
ls | grep my.cnf //查看是否有my.cnf 文件。有则会产生结果。
13.如果你/etc下没有生成my.cnf文件, 新建一个my-defalut.cnf文件,将其复制到/etc/my.cnf(笔者文件中未生成my.cnf 文件,所以手动新建如下)
touch my-defalut.cnf //新建一个文件
chmod 755 my-defalut.cnf // 赋予权限
cp my-defalut.cnf /etc/my.cnf // 将文件复制到/etc/ 目录下,并更名为my.cnf 文件名
14.my.cnf 信息设置如下
[mysqld]
配置默认编码为utf8
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
设置表名大小写不敏感
lower_case_table_names=1
设置mysql安装目录
basedir=/usr/local/mysql
设置mysql数据库的数据存放目录
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
设置mysql的日志文件位置(这个配置文件先不要放开,不然会报找不到Mysql.log文件,等启动后再放开,在重启)
log-error=/var/log/mysql.log
注意了,小细节,这里的 $hostname 是linux的主机名。一般每个人主机名都是不一样的。
pid-file=/usr/local/mysql/data/$hostname.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
15.在 /etc/profile中配置mysql环境变量
vim /etc/profile // 打开profile文件在最后追加下面命令
export MYSQL_HOME
MYSQL_HOME=/usr/local/mysql
export PATH=MYSQL_HOME/lib:$MYSQL_HOME/bin
退出后让其立马生效命令:source /etc/profile
16.设置为开机自启动项
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql //添加可执行权限。
chkconfig --add mysql // 注册启动服务
输入chkconfig --list //查看是否添加成功(如下表示成功)。
17.开启服务器,登录进入mysql
service mysql start //开启服务器。
mysql -uroot -p //登录进入mysql,然后输入刚才第11步的临时密码,并回车。
如下图则表明成功进入MySQL
至此,说明已经安装成功了~。
18.进入mysql后,修改密码(当前的root,‘your_password’ 只能在当下服务器登陆)
alter user 'root'@'localhost' identified by 'your_password';
// 其中'your_password'是你设置的新密码
19.远程访问设置,添加远程登录用户(注:进入mysql,在输入如下命令)
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户:
- GRANT ALL PRIVILEGES ON . TO '你的用户名'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
- flush privileges
注:如果依旧无法远程登陆,请检查防火墙和在安全组放开3306端口
番外篇
mysql常用命令操作:
systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service
Linux下的tar压缩解压缩命令详解:
*.tar 用 tar -xvf 解压
*.gz 用 gzip -d或者gunzip 解压
.tar.gz和.tgz 用 tar -xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar -xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar -xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压