zoukankan      html  css  js  c++  java
  • linux版本的mysql安装

    linux版本的mysql安装

    一 . 二进制 rpm包安装

    yum -y install mysql-server mysql
    

    二. 源码安装

    2.1 解压 tar 包

    cd /software
    tar -xzvf mysql-5.6.47-linux-gibc2.5-x86_64.tar.gz
    mv mysql-5.6.47-linux-gibc2.5-x86_64 mysql-5.6.47
    

    2.2 添加用户与组

    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql:mysql mysql-5.6.47
    

    2.3 安装数据库

    su mysql
    cd mysql-5.6.47/scripts
    ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.47 --datadir=/software/mysql-5.6.47/data
    

    2.4 配置文件

    cd /software/mysql-5.6.47/support-files
    cp my-default.cnf /etc/my.cnf
    cp mysql.server /etc/init.d/mysql
    vim /etc/init.d/mysql   #若mysql的安装目录是/usr/local/mysql,则可省略此步
    -- 修改文件中的两个变更值
    basedir=/software/mysql-5.6.47
    datadir=/software/mysql-5.6.47/data
    

    2.5 配置环境变量

    vim /etc/profile
    export MYSQL_HOME="/software/mysql-5.6.47"
    export PATH="$PATH:$MYSQL_HOME/bin"
    source /etc/profile
    

    2.6 添加自启动服务

    chkconfig --add mysql
    chkconfig mysql on
    

    2.8 启动mysql

    service mysql start
    

    2.8 登录mysql及改密码与配置远程访问

    mysqladmin -u root password 'your_password'     #修改root用户密码
    mysql -u root -p     #登录mysql,需要输入密码
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允许root用户远程访问
    mysql>FLUSH PRIVILEGES;     #刷新权限
    

    三. 源码安装mariadb

    3.1 解压

    tar zxvf  mariadb-5.5.31-linux-x86_64.tar.gz   
    mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需这样,很多脚本或可执行程序都会直接访问这个目录
    

    3.2 权限

    groupadd mysql             //增加 mysql 属组 
    useradd -g mysql mysql     //增加 mysql 用户 并归于mysql 属组 
    chown mysql:mysql -Rf  /usr/local/mysql    // 设置 mysql 目录的用户及用户组归属。 
    chmod +x -Rf /usr/local/mysql    //赐予可执行权限 
    

    3.3 拷贝配置文件

    cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //复制默认mysql配置 文件到/etc目录 
    

    3.4 初始化

    /usr/local/mysql/scripts/mysql_install_db --user=mysql          //初始化数据库 
    cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql    //复制mysql服务程序 到系统目录 
    chkconfig  mysql on     //添加mysql 至系统服务并设置为开机启动 
    service  mysql  start  //启动mysql
    

    3.5 环境变量配置

    vim /etc/profile   //编辑profile,将mysql的可执行路径加入系统PATH
    export PATH=/usr/local/mysql/bin:$PATH 
    source /etc/profile  //使PATH生效。
    

    3.6 账号密码

    mysqladmin -u root password 'yourpassword' //设定root账号及密码
    mysql -u root -p  //使用root用户登录mysql
    use mysql  //切换至mysql数据库。
    select user,host,password from user; //查看系统权限
    drop user ''@'localhost'; //删除不安全的账户
    drop user root@'::1';
    drop user root@127.0.0.1;
    select user,host,password from user; //再次查看系统权限,确保不安全的账户均被删除。
    flush privileges;  //刷新权限
    

    3.7 一些必要的初始配置

    # 1)修改字符集为UTF8
    vi /etc/my.cnf
    在[client]下面添加 default-character-set = utf8
    在[mysqld]下面添加 character_set_server = utf8
    # 2)增加错误日志
    vi /etc/my.cnf
    # 在[mysqld]下面添加:
    log-error = /usr/local/mysql/log/error.log
    general-log-file = /usr/local/mysql/log/mysql.log
    # 3) 设置为不区分大小写,linux下默认会区分大小写。
    vi /etc/my.cnf
    # 在[mysqld]下面添加:
    lower_case_table_name=1
    
    # 修改完重启:
    service  mysql  restart
    

    四. 忘记密码

    方法1: 删除授权库mysql,重新初始化

    rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
    systemctl restart mariadb
    mysql
    
    

    方法2: 启动时,跳过授权库

    [root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
    [mysqld]
    skip-grant-table
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql
    MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> q
    [root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql -u root -p123 #以新密码登录
    
    
  • 相关阅读:
    javaweb中如何给自己的网站更改ico图标
    基于Zookeeper的分布式锁
    Linux 基础——权限管理命令chmod
    Java--实现单点登录
    Session和Cookie的区别与联系
    selectedIndex返回被选中的option的index.
    onchange事件可以使用于: <input>, <select>, 和 <textarea>。
    js判断字符串长度
    在容器最前面添加DOM元素 parent.insertBefore(new, parent.children[0])
    在容器末尾添加DOM元素 parent.appendChild(newChild)
  • 原文地址:https://www.cnblogs.com/jkeykey/p/14457346.html
Copyright © 2011-2022 走看看