zoukankan      html  css  js  c++  java
  • Solaris10下mysql的pkg安装方法

    以root登录系统
    1从dev.mysql.com网站下载安装文件mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz保存到/tmp
    2解压缩gz格式安装文件gunzip mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz
    3建立mysql用户组和用户,并为用户指定home目录
    groupadd mysql
    useradd -g mysql mysql
    mkdir /export/home/mysql
    chgrp mysql /export/home/mysql
    chown mysql /export/home/mysql
    usermod -d /export/home/mysql mysql
    可以用su - mysql验证mysql能否登录
    4安装pkg
    pkgadd -d mysql-5.1.11-beta-solaris10-sparc-64bit.pkg
    MySQL被安装到/opt/mysql/mysql/
    5安装后的任务
    建立目录连接
    cd /usr/local
    ln -s /opt/mysql/mysql/ mysql
    建立配置文件
    vi /etc/my.cnf

    [mysqld]
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    6初始化MySQL
    cd /usr/local/mysql
    scripts/mysql_install_db --user=mysql
    7启动MySQL服务器
    切换到mysql用户
    /usr/local/mysql/bin/mysqld-max &
    或者
    /usr/local/mysql/bin/mysqld-max --user=mysql&
    root用户不能直接启动MySQL服务器
    8关闭服务器
    mysqladmin -u root shutdown

    9卸载MySQL
    root用户执行
    pkgrm mysql
    从二进制分发包安装mysql比从源代码安装还是简单
    但是MySQL的安装手册里没有给出各种错误的解决办法
    比如:我曾经遇到的
    /opt/mysql/mysql/bin/mysqld-max: Table 'mysql.general_log' doesn't exist
    060716 10:50:16 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
    就是因为没有建立配置文件 /etc/my.cnf
    而且pkg包自动为MySQL相关目录建立权限,不需要像安装手册说的手工做。

    顺带记录一下在MySQL配置过程中可能会用到的重要东西:

    通过直接修改授权表设置用户权限

    shell> mysql --user=root mysql

    mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid'));

    mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));

    mysql> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));


    mysql> INSERT INTO db 

       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,  Create_priv,Drop_priv)

       VALUES ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');

    mysql> INSERT INTO db

       (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

       VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');

    mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

       VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');

    mysql> FLUSH PRIVILEGES;




    默认情况下mysql是不能远程连接的,需要修改权限设置:
    两种方法:

    在命令行下,可以有两种大同小异的方法来作此设置:

    (1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

    mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

    第一句增加了一个root用户授权通过本地机(localhost)访问,密码“something”。

    第二句则是使用通配符,授与root用户从任何其它主机发起的访问。

    (2)亦可直接使用update语句修改user表:使用root用户或其他用户登录mysql,转到mysql数据库

    update user set host='localhost' where user='root';

    flush privileges;//只允许root在本机登录

    update user set host='%' where user='root';

    flush privileges;//允许root远程访问



    在4.1以上版本的MySQL中的密码的哈希算法有了变化,可能会导致一些使用老协议的客户端连接失败,提示错误信息:1251 Client does not support authentication protocol requested by server; consider upgrading MySQL client。 这是相应的处理方法:
    mysql> UPDATE mysql.user SET password = OLD_PASSWORD('yourpwd')  WHERE host = 'yourhost' AND user='username';

    mysql>FLUSH PRIVILEGES;

     

     


  • 相关阅读:
    day84:luffy:优惠活动策略&用户认证&购物车商品的勾选/结算
    day83:luffy:添加购物车&导航栏购物车数字显示&购物车页面展示
    day82:luffy:课程详情页面显示&章节和课时显示&视频播放组件&CKEditor富文本编辑器
    day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息
    day80:luffy:短信sdk接入&点击获取验证码&注册功能的实现&Celery实现短信发送功能
    day79:luffy:注册之对手机号的验证&实现基本的注册功能逻辑&点击获取验证码&redis
    day78:luffy:前端对于token的认证&滑动验证码的实现
    day77:luffy:导航栏的实现&DjangoRestFramework JWT&多条件登录
    day76:luffy:项目前端环境搭建&轮播图的实现
    day75:luffy:路飞学城项目后端环境搭建&Git相关知识点
  • 原文地址:https://www.cnblogs.com/jdonson/p/1510215.html
Copyright © 2011-2022 走看看