Linux下安装mysql

1、到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)

2、解压64位安装包:
进入安装包所在目录,执行命令:

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

3、复制解压后的mysql目录到系统的本地软件目录:
执行命令
cp mysql-5.6.38-linux-glibc2.12-x86_64 /usr/local/mysql -r
注意:目录结尾不要加/

这里写图片描述

4、添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql

这里写图片描述

5、 安装数据库:
进入安装mysql软件目录:执行命令 cd /usr/local/mysql

修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

安装数据库:执行命令 ./scripts/mysql_install_db –user=mysql

修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data

到此数据库安装完毕

6、启动mysql服务和添加开机启动mysql服务:
添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录

启动mysql服务:执行命令service mysql start

执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功,如图

这里写图片描述

7、 修改mysql的root用户密码,root初始密码为空的:
执行命令:./bin/mysqladmin -u root password ‘密码’

8、把mysql客户端放到默认路径:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

9、登陆
mysql -u root -h 127.0.0.1 -p
密码为第七步设置的密码

注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql

以上更详细的内容地址:http://jingyan.baidu.com/article/a378c9609eb652b3282830fd.html

注意问题:

自我感觉mysql 5.7这一系列的版本都很变态啊,不管是windows的还是Linux,安装的时候总会出些莫名其妙的想法。当初在windows下安装mysql的时候,年轻不懂事下了5.7版本的,结果出现了各种难以捉摸的bug,在网上查也找不到,最后发现一个同病相怜的人诉说是版本问题,装成5.6就好了。而这次装linux的,年少轻狂的我忘记了windows下的教训,装了5.7,结果一直出现各种bug,哎,还是太年轻了。希望大家能吸取教训吧。

9.安装完后的使用

安装完以后,大家可以输入mysql -uroot -p,然后enter password来进入mysql。

进去后可以使用mysql的各种语法,首先可以查看database:show databases。

Linux下mysql的卸载:

1、查找以前是否装有mysql

命令:rpm -qa|grep -i mysql

可以看到mysql的两个包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2、删除mysql

删除命令:rpm -e –nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

3、删除老版本mysql的开发头文件和库

检查各个mysql文件夹是否删除干净

find / -name mysql

结果如下:

/var/lib/mysql

/usr/local/mysql

/usr/lib/mysql

/usr/include/mysql

命令:

rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

4.删除mysql用户及用户组

userdel mysql

groupdel mysql

Linux下创建和删除软链接:

1.先建立一个软连接

[root@rekfan.com test]# ls -il
总计  0
1491138 -rw-rr– 1 root root 48 07-14 14:17 file1
1491139 -rw-rr– 2  root root 0 07-14 14:17 file2
1491139 -rw-rr– 2 root root 0 07-14 14:17  file2hand
#建立file1file1soft软连接
[root@rekfan.com test]# ln -s file1  file1soft
[root@rekfan.com test]# ls -il
总计 0
1491138 -rw-rr– 1 root  root 48 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24  file1soft -> file1
1491139 -rw-rr– 2 root root 0 07-14 14:17  file2
1491139 -rw-rr– 2 root root 0 07-14 14:17 file2hand

其中,ln -s file1 filesoft 中的file1就是源文件,file1soft就是目标链接文件名,其作用是当进入filesoft目录,实际上是链接进入了file1目录

2.删除上面建立的软连接

[root@rekfan.com test]# ls -il
总计  0
1491138 -rw-rr– 1 root root 0 07-14 14:17 file1
1491140 lrwxrwxrwx 1  root root 5 07-14 14:24 file1soft -> file1
1491139 -rw-rr– 2 root root 0  07-14 14:17 file2
1491139 -rw-rr– 2 root root 0 07-14 14:17  file2hand
#删除软连接
[root@rekfan.com test]# rm -rf file1soft
[root@rekfan.com test]#  ls -il
总计 0
1491138 -rw-rr– 1 root root 0 07-14 14:17 file1
1491139  -rw-rr– 2 root root 0 07-14 14:17 file2
1491139 -rw-rr– 2 root root 0 07-14  14:17 file2hand

启动mysql时显示:/tmp/mysql.sock 不存在的解决方法

[root@localhost mysql]# bin/mysqladmin -u root password root
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
[root@localhost mysql]# bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
分析:是/tmp/mysql.sock 不存在

由于搜索的mysql.sock路径是在/tmp下,而mysql安装的mysql.sock在/var/lib/mysql下,所以选择建立符号(软)连接:

# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.45 MySQL Community Server (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>

我自己实践时遇到的问题记录:
1、

 [ERROR] Can't start server : Bind on unix socket: Address already in use
 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?

1)用ps -ef|grep mysql检查没有其它mysql进程,用netstat -an|grep 3306检查端口,有进程的话,杀掉进程。
2)对比分析,正常关闭mysql时,/tmp/mysql3306.sock文件是不存在的,而现在mysql已关闭后,还存在/tmp/mysql3306.sock文件。
猜测是由于上次mysql未正常关闭或关闭异常引起。
问题解决:
在root用户下,删除/tmp/mysql3306.sock文件,再重启mysql。
2、登录mysql出现/var/lib/mysql/mysql.sock不存在
问题描述:
1.mysql安装完成后,使用
service mysqld start
总是出现 start failed。
2.使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock问题。
3.使用service mysqld status出现 mysql dead but subsys locked(暂时还没有出现这个问题)

解决方法:
1 service mysqld stop (停止服务)
2 rm -fr /var/lib/mysql/* (删除/var/lib/mysql下的所有文件)
3 rm /var/lock/subsys/mysqld(删除锁定文件)
4 killall mysqld (杀死所有mysqld进程)
5 service mysql start (启动mysql服务。)

3、用tar源码安装mysql5.6.33没有成生my.cnf文件,只有在mysql根目录下生成了一个默认的文件

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[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 = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# 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 

解决方法:
复制已有my.cnf文件,直接将另一台服务器的my.cnf文件cp过来使用,修改相关位置信息即可。

[mysqld]
default-character-set=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
innodb_buffer_pool_size=314572800
set-variable = max_connections=10000

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names = 1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

转载自:
http://www.cnblogs.com/fnlingnzb-learner/p/5830622.html
http://blog.csdn.net/zengxuewen2045/article/details/52333382
http://www.cnblogs.com/okstill/p/5667138.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值