linux安装mysql数据库两种方法,包括卸载mysql

mysql5.6的安装包

链接:

提取码:6d5b

方法一:

1、首先关闭linux的防火墙,执行命令

chkconfig iptables off

2、从mysql官网上下载自己适合的mysql版本#downloads,进入mysql官网,依次点击

3、下载后的mysql文件

mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz

 将下载好的mysql压缩文件放置在linux的/usr/local文件夹下,解压该压缩文件

tar -zxvf  mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz

将解压后的文件重命名为mysql

mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

4、创建mysql用户组及用户

groupadd mysql useradd -r -g mysql mysql

5、进入到mysql目录,执行添加MySQL配置的操作

cp support-files/my-medium.cnf /etc/my.cnf 或: cp support-files/my-default.cnf /etc/my.cnf

是否覆盖?按y 回车

6、编辑/etc/my.cnf文件;

vi /etc/my.cnf

在my.cnf文件中添加或者修改相关配置,更改完成后保存退出

# For advice on how to change settings please see  # ; # *** DO NOT EDIT THIS FILE. Its a template which will be copied to the  # *** default location during install, and will be replaced if you  # *** upgrade to a newer version of MySQL.    [mysqld]    # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 # server_id = ..... socket = /tmp/mysql.sock character-set-server = utf8 skip-name-resolve log-err = /usr/local/mysql/data/error.log pid-file = /usr/local/mysql/data/mysql.pid # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

7、在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)

chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --user=mysql  

注:如果报错

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解决办法:

 yum -y install libaio* libaio-dev* 

安装 yum -y install libaio-devel 之后问题还是依旧,

安装yum -y install numactl

如果报:

drr-xr-x  2 root root   4096 Jun 22 17:16 support-files

[root@izbp19qxmhk1htzizdjfnwz mysql]# ./scripts/mysql_install_db --user=mysql

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:

Data::Dumper

解决方法:

任意目录下执行命令即可:yum -y install autoconf

chown -R root . chown -R mysql data

8、初始化数据(在mysql/bin或者mysql/scripts下有个 mysql_install_db 可执行文件初始化数据库),进入mysql/bin或者mysql/scripts目录下,执行下面命令

./mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp

截至5.6.8版本,在unix平台,mysql_install_db创建一个被命名为“my.cnf”默认的参数文件在base安装目录。

该my.cnf是根据.../mysql/support-files/my-default.cnf所创建的。

如果my.cnf已经存在,脚本会假定my.cnf正在被使用,并会创建一个被命名为“my-new.cnf”的文件。

用法举例:

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3306

其中--user为mysqld服务的运行用户

--basedir和--datadir则分别代表mysql的安装目录和数据存放目录

在5.6.8之后的版本,用此种方式初始化后,root密码将会存放在 /root/.mysql_secret中

详细见 --random-passwords 参数。

其他选项:(博主手动翻译可能存在出入,详情请参考手册)

 --help

显示帮助信息

 --basedir=path

mysql 安装目录的路径

 --builddir=path

build 目录的路径,用于out-of-source构建。

 --cross-bootstrap

供内部使用。

 --datadir=path

mysql 数据目录的路径 

--defaults-extra-file=file_name

在读取全局选项文件和在读取用户选项文件之前,读取这个文件(选项文件),如果该文件不存在,将会抛出错误。(仅限unix平台)

 --defaults-file=file_name

用被提供的选项文件,如果该文件不存在,将会抛出提示。

 --force

当dns无法用时将通过ip地址代替。

 --keep-my-cnf

在5.6.20中被添加,mysql_install_db保存任何已经存在的my.cnf文件,并且不创建新的默认my.cnf文件。

--ldata=path

与--datadir同义。

 --no-defaults

不读取任何选项文件,该选项在mysql_install_db启动时,若因为读取了未知的参数而启动失败时使用。

 --random-passwords

5.6.8中加入该选项,在unix平台,该选项在mysql安装时增添了更多安全性。

程序会给root初始化一个随机密码,被写入.mysql_secret文件,并且放置在对应用户的home目录下

如果.mysql_secret文件已经存在,新密码信息会被追加上去,每一个密码都会有时间戳信息,该文件默认权限是600。

并且没有匿名mysql用户存在。

通过RPM新安装mysql并使用mysql_install_db时,将会默认调用--random-passwords选项。(升级除外)

在5.6.9,solaris PKG新安装并且使用mysql_install_db时,同样也会调用--random-passwords。(升级除外)

用二进制或者源码安装时,可以在使用mysql_install_db时手动的添加--random-passwords选项。

 --rpm

供内部使用。

 --skip-name-resolve

当创建授权表时,用ip地址而不是host名,这个选项在你的DNS不起作用时,非常有用。

 --srcdir=path

供内部使用。

 --user=user_name

运行mysqld的系统用户名,通过mysqld创建的文件和目录的归属者将为该用户。

 --verbose

Verbose模式,打印更多关于这个程序的信息。

 --windows

供内部使用,5.7.5将移除。

 9、启动mysql,进入/usr/local/mysql/bin目录,执行下面命令

./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &

 注意,如果光标停留在屏幕上,表示启动成功,需要我们先关闭shell终端,再开启一个新的shell终端,不要执行退出操作。如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题.

10、设置开机启动,新开启shell终端后,进入mysql目录,执行下面命令

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 700 /etc/init.d/mysql chkconfig --add mysqld chkconfig --level 2345 mysqld on chown mysql:mysql -R /usr/local/mysql/

重启linux

reboot

查看mysql状态

service mysqld status

11、添加远程访问权限

(1)、添加mysql命令

ln  -s /usr/local/mysql/bin/mysql  /usr/bin  (mysql的安装路径)

(2)、更改访问权限

登录mysql,执行下面命令 mysql -uroot -p 密码为空直接回车,运行以下两条命令 GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BYwith grant option; Flush privileges;

退出mysql

exit

重启linux,就完成了

reboot

contos7 关闭防火墙命令

systemctl stop firewalld

注:本机访问mysql,root账户默认是没有密码的,端口号默认3306,如果需要修改root账户密码,在/usr/local/mysql/bin目录下,执行下面命令

./mysqladmin -h 127.0.0.1 -P3306 -uroot password duanexit

方法二:yum命令安装

1.新开的云服务器,需要检测系统是否自带安装mysql

# yum list installed | grep mysql

2.如果发现有系统自带mysql,果断这么干

# yum -y remove mysql-libs.x86_64

3.随便在你存放文件的目录下执行,这里解释一下,由于这个mysql的yum源服务器在国外,所以下载速度会比较慢,还好mysql5.6只有79M大,而mysql5.7就有182M了,所以这是我不想安装mysql5.7的原因

# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

4.接着执行这句,解释一下,这个rpm还不是mysql的安装文件,只是两个yum源文件,执行后,在/etc/yum.repos.d/ 这个目录下多出mysql-community-source.repo和mysql-community.repo

# rpm -ivh mysql-community-release-el6-5.noarch.rpm

5.这个时候,可以用yum repolist mysql这个命令查看一下是否已经有mysql可安装文件

#yum repolist all | grep mysql

6.安装mysql 服务器命令(一路yes):

# yum install mysql-community-server

7.安装成功后

# service mysqld start

8.由于mysql刚刚安装完的时候,mysql的root用户的密码默认是空的,所以我们需要及时用mysql的root用户登录(第一次回车键,不用输入密码),并修改密码

# mysql -u root

# use mysql;

# update user set password=PASSWORD("这里输入root用户密码") where User=root;

# flush privileges;

9.查看mysql是否自启动,并且设置开启自启动命令

 # chkconfig --list | grep mysqld

# chkconfig mysqld on

10.mysql安全设置(系统会一路问你几个问题,看不懂复制之后翻译,基本上一路yes):

# mysql_secure_installation

卸载

操作系统版本

rpm -qa | grep -i mysql rpm -qa | grep -i mysql命令查看已经安装过的组件。

使用yum -y remove命令卸载已经安装的MySQL组件,使用下面的命令,对于上面已经安装的分别卸载,

yum -y remove mysql-community-libs-5.7.18-1.el7.x86_64 

yum -y remove mysql-community-common-5.7.18-1.el7.x86_64 

yum -y remove mysql-community-client-5.7.18-1.el7.x86_64 

yum -y remove mysql57-community-release-el7-10.noarch 

yum -y remove mysql-community-server-5.7.18-1.el7.x86_64

 再次使用rpm -qa | grep -i mysql查看已安装的组件,已经完全卸载了。

whereis mysql查询之前安装生成的目录,分别移除。