linux版本:CentOS7 64位
1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”
# 安装依赖yum -y install perl perl-devel autoconf2、把下载的安装包移动到/usr/local/下。
3、解压
tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz4、复制解压后的mysql目录到系统的本地软件目录
cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r5、添加系统mysql组和mysql用户
groupadd mysqluseradd -r -g mysql mysql6、进入安装mysql软件目录,修改目录拥有者为mysql用户
cd mysql/chown -R mysql:mysql ./7、安装数据库,此处可能出现错误。
./scripts/mysql_install_db --user=mysql8、修改当前目录拥有者为root用户
chown -R root:root ./9、修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data============== 到此数据库安装完毕 =============
10、启动mysql服务和添加开机启动mysql服务
添加开机启动,把启动脚本放到开机初始化目录。
cp support-files/mysql.server /etc/init.d/mysql11、启动mysql服务
#创建缺少的文件夹mkdir /var/log/mariadbservice mysql start正常提示信息:Starting MySQL. SUCCESS!
12、把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql
=================== 这是分割线 ==================
通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。
错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”
路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。
###################### 分割线 ######################
权限控制
1、去除匿名用户
# 测试匿名用户登录mysql -ux3
可以看到匿名用户可以登录,具有information_schema和test库的相关权限。
# 删除匿名用户,使用root用户登录数据库delete from mysql.user where User='';flush PRivileges;
再次测试匿名用户登录
以上为mysql5.7以下版本安装方式,下面介绍5.7.17版本安装
1.mysql5.7.17安装在/usr/local/mysql目录里面,也可以安装在其他地方 (安装包最好与Linux系统一样,eg;32位的就是“mysql-5.7.17-linux-glibc2.5-i686.tar.gz”,官网可下载)
mkdir /usr/local/mysql
2.解压并复制tar -xvf mysql-5.7.17-linux-glibc2.5-i686.tar.gzmv mysql-5.7.17-linux-glibc2.5-i686.tar.gz/* /usr/local/mysql/ 3.创建data目录(很重要!)mkdir /usr/local/mysql/data 4.创建mysql用户和修改权限groupadd mysql chown -R mysql.mysql /usr/local/mysql/ 5.初始化数据[root@localhost mysql] ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2016-01-20 02:47:35 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-01-20 02:47:45 [WARNING] The bootstrap log isn't empty: 2016-01-20 02:47:45 [WARNING] 2016-01-19T18:47:36.732678Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2016-01-19T18:47:36.750527Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2016-01-19T18:47:36.750560Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)6. 复制配置文件到 /etc/my.cnf
cp -a ./support-files/my-default.cnf /etc/my.cnf (选择y) 7. mysql的服务脚本放到系统服务中cp -a ./support-files/mysql.server /etc/init.d/mysqld 修改my.cnf文件 (vim /etc/my.cnf)# 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 # 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 = 2M8.启动mysql
service mysqld start ps -ef #查看是启动9.查看初始化自动生成的密码: cat /root/.mysql_secret (记住并复制下来,等会登陆mysql需要)
10.进入mysql:bin/mysql -uroot -p (把刚刚复制的密码粘贴上来)
11.登录后重置root密码mysql> SET PASSWord FOR 'root'@localhost = PASSWORD('123456');Query OK, 0 rows affected, 1 warning (0.00 sec)
新闻热点
疑难解答