Linux下安装mysql
来源:互联网 发布:js 视频播放插件 编辑:程序博客网 时间:2024/06/08 06:28
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总计 01491138 -rw-r–r– 1 root root 48 07-14 14:17 file11491139 -rw-r–r– 2 root root 0 07-14 14:17 file21491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand#建立file1和file1soft软连接[root@rekfan.com test]# ln -s file1 file1soft[root@rekfan.com test]# ls -il总计 01491138 -rw-r–r– 1 root root 48 07-14 14:17 file11491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file11491139 -rw-r–r– 2 root root 0 07-14 14:17 file21491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
其中,ln -s file1 filesoft 中的file1就是源文件,file1soft就是目标链接文件名,其作用是当进入filesoft目录,实际上是链接进入了file1目录
2.删除上面建立的软连接
[root@rekfan.com test]# ls -il总计 01491138 -rw-r–r– 1 root root 0 07-14 14:17 file11491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file11491139 -rw-r–r– 2 root root 0 07-14 14:17 file21491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand#删除软连接[root@rekfan.com test]# rm -rf file1soft[root@rekfan.com test]# ls -il总计 01491138 -rw-r–r– 1 root root 0 07-14 14:17 file11491139 -rw-r–r– 2 root root 0 07-14 14:17 file21491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
启动mysql时显示:/tmp/mysql.sock 不存在的解决方法
[root@localhost mysql]# bin/mysqladmin -u root password rootbin/mysqladmin: connect to server at 'localhost' failederror: '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 -pEnter 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 rootWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 1Server 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=utf8datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlinnodb_buffer_pool_size=314572800set-variable = max_connections=10000# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0lower_case_table_names = 1[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidcharacter-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
- Linux下安装Mysql
- Linux下安装MySQL
- Linux下安装MYSQL
- Linux下安装mysql
- LINUX下安装MySQL
- Linux下安装MySQL
- Linux下安装MySQL
- linux下安装mysql
- Linux下安装Mysql
- Linux下安装MySQL
- Linux 下安装mysql
- linux下安装mysql
- Linux下mysql安装
- Linux下安装MySql
- Linux下mysql安装
- linux下安装mysql
- linux下安装mysql
- linux下安装mysql
- 七Java循环结构
- Linux 系统中 scikit-learn 编程环境
- Activity的四种启动模式和onNewIntent()
- 深度浅析 == 和 equals 的区别
- input 输入 小写转大写 遇到坑
- Linux下安装mysql
- hibernate
- Scala case class那些你不知道的知识
- jquery ajax学习总结
- python 多项式拟合
- vmware esxi5.5安装教程|图文安装
- java注解
- segmentation fault(linux c)补遗
- Linux系统中crontab命令学习