linux环境安装mysql

来源:互联网 发布:js得到div的高度 编辑:程序博客网 时间:2024/06/04 19:25
安装mysql-5.6.38
下载地址:http://download.csdn.net/download/a51561/10037686
1.安装依赖包
yum -y install perl perl-devel autoconf libaio
2.解压安装包
tar -zxvf mysql-5.6.38.tar.gz
3.修改mysql名称
mv mysql-5.6.38 mysql
4.添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5.进入安装mysql软件目录,修改目录拥有者为mysql用户
cd mysql/
chowm -R mysql:mysql ./
6.安装数据库,此处报错
./scripts/mysql_install_db --user=mysql
    FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
    Data::Dumper
    解决办法
    yum install -y perl-Data-Dumper
    错误: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 install numactl.x86_64
 7.修该当前目录拥有者为root用户
 chown -R root:root ./
 8.修改当前data目录拥有者为mysql用户
 chown -R mysql:mysql data
 9.添加mysql服务启动项
  添加开机启动,把启动脚本放到开机初始化目录。
  cp support-files/mysql.server /etc/init.d/mysql
  赋予可执行权限
  chmod +x /etc/init.d/mysql
  #添加服务
  chkconfig --add mysql
  #显示服务列表
  chkconfig --list
  如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
  chkconfig --level 345 on
 10.启动mysql服务
 #创建缺少的文件夹
 mkdir /var/log/mariadb
 service mysql start
 正常提示信息:Starting MySQL. SUCCESS!
 12.把mysql 客户端发到默认路径
 ln -s /usr/local/mysql/bin/mysql /usr/local/bin/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;




添加root密码
方法1: 用SET PASSWORD命令


  mysql -u root


  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin


  mysqladmin -u root password "newpass"


  如果root已经设置过密码,采用如下方法


  mysqladmin -u root password oldpass "newpass"


方法3: 用UPDATE直接编辑user表


  mysql -u root


  mysql> use mysql;


  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';


  mysql> FLUSH PRIVILEGES;


在丢失root密码的时候,可以这样


  mysqld_safe --skip-grant-tables&


  mysql -u root mysql


  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';


  mysql> FLUSH PRIVILEGES;