標籤:lang 返回 spec cts charset glob ide order by creat
一、Mac上的安裝配置 // brew安裝 brew install mysql // 設定為開機啟動 brew services start mysql // 也可以手動自啟 mysql.server start // 登入 mysql -uroot 注意: 1)若登入時提示沒有mysql這個命令,則需要將mysql的bin目錄加入PATH: export PATH=$PATH:/usr/local/mysql/bin 2)此時登入狀態預設狀態,未設密碼,若要設定密碼,可在登入後運行如下命令: SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘your password‘); 二、Linux CentOS安裝 在centos7上安裝mysql5.6,採用source形式安裝,過程如下: 1)安裝依賴包:yum install -y gcc gcc-c++ kernel-devel ncurses-devel bison cmake 2)命令執行過程: # Preconfiguration setup shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql # Beginning of source-build specific instructions shell> tar zxvf mysql-VERSION.tar.gz shell> cd mysql-VERSION shell> mkdir build shell> cd build shell> cmake .. shell> make shell> make install # End of source-build specific instructions # Postinstallation setup shell> cd /usr/local/mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> scripts/mysql_install_db --user=mysql (這一步可能引發問題1) shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql & # Next command is optional shell> cp support-files/mysql.server /etc/init.d/mysql.server 3)環境變數配置 export PATH=$PATH:/usr/local/mysql/bin/ 4)設定root使用者密碼 a、查看當前的使用者及登入密碼: SELECT User, Host, Password FROM mysql.user; b、重設密碼: UPDATE mysql.user SET Password = PASSWORD(‘123456‘) where user=‘root‘; FLUSH PRIVILEGES; // 重新整理使用者權限資訊 c、退出重新登入: mysql -uroot -p 5)允許任何主機遠端存取資料庫 GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION; 三、異常問題及解決辦法1、重新啟動報錯 => 在my.cnf設定檔中[mysql]下加上tmpdir= /User/userName/mysql/data,或者刪除/usr/local/mysql/data目錄下logfile*檔案 以下問題主要出現在CentOS7環境下的安裝過程中:2、FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:Data:Dumper=> yum -y install autoconf 3、mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘, however file don‘t exists. Create writable for user ‘mysql‘.=>/etc/my.cnf[mysqld_safe]log-error=/var/log/mysql/mysql.logpid-file=/var/run/mysql/mysql.pid 4、Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (未解決,可能是之前卸載殘留導致,重裝了=_=!) 5、Ignoring query to other database 啟動mysql時沒有帶-u參數 6、某個字斷被截斷,檢查插入的資料類型是否與實際表結構中資料類型一致 四、 相關命令1、查看字元集 SHOW VARIABLES WHERE Variable_name LIKE ‘character\_set\_%‘ OR Variable_name LIKE ‘collation%‘; show full columns from users; // 產看錶欄位字元集 2、設定字元集,支援emojiEmoji utf8mb4 可用於Emoji, 此時應設定資料庫、表、表相關欄位的字元集均為utf8mb4,方可實現資料的正常插入或是更新 set character_set_results=‘utf8mb4‘; // 設定表欄位字元集 alter TABLE articles MODIFY column title text CHARACTER set utf8mb4; // 設定表字元集 ALTER TABLE articles CHARSET=utf8mb4; ALTER TABLE T_CPDAILY_EMOTIONCOMMUNICATES CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3、字串常用操作 1)替換 replace UPDATE articles SET contUrl=REPLACE(contUrl, ‘/we‘, ‘/you‘), sImgUrl=REPLACE(sImgUrl, ‘/root/asse‘, ‘‘),resUrl=REPLACE(resUrl, ‘/root/asse‘, ‘‘); 2)切割 split // 設定split函數,返回指定子串長度 CREATE FUNCTION substrCount(x varchar(500), delim varchar(12)) returns int return (length(x)-length(REPLACE(x, delim, ‘‘)))/length(delim); select DISTINCT BM, BMFULL from v_ssxx_jrxy ORDER BY BM, substrCount(BMFULL,‘/‘) desc; 3)substring_index內建函數,選擇二級部門 SELECT DISTINCT BM, SUBSTRING_INDEX(BMFULL,‘/‘,-1) as secondDepart from v_ssxx_jrxy ORDER BY BM 4、資料移轉 若輸入mysqldump提示沒有該命令,則啟用命令:export PATH=$PATH:/usr/local/mysql/bin/mysqldump 匯出整個資料庫的表結構及資料:shell中運行>>> mysqldump -uuser -ppassword databaseName -h host > DB.sql 匯入:mysqlClient中運行>>> source DB.sql 5、全文索引 innodb要求mysql 5.6.4以上版本支援 1)建立索引,可以在建立表時進行,也可以修改表或直接建立索引的方式 ALTER TABLE ARTICLES ADD COLUMN SEG_CONTENT VARCHAR(4000) DEFAULT NULL; CREATE FULLTEXT INDEX IDX_SEG_CONTENT ON ARTICLES(SEG_CONTENT); // 查詢 SELECT * FROM ARTICLES WHERE MATCH(SEG_CONTENT) AGAINST(‘新鮮事’ IN BOOLEAN MODE); MySQL目前支援全文檢索搜尋的還有: NATURAL LANGUAGE MODEL: MyISAM引擎下,該模式對於詞頻超過50%的詞視作停用詞 2)操作過程中,可能會發現,對於中文經常會搜尋不到結果,原因是,預設配置下innodb_ft_min_token_size的值為3,該值是針對英文全文檢索搜尋的預設設定,用於過濾類似”a”,”to”這類停用詞,對於中文,我們需要將該值設定為1 或者 2,否則大部分詞長小於3的都將被過濾掉。 重啟server設定token_size值為1: /etc/init.d/mysql.server restart --innodb_ft_min_token_size=1 SHOW VARIABLES LIKE ‘innodb_ft_min_token_size‘ 刪除原有的FullText Index:DROP INDEX IDX_FULL_TEXT_CONTENT ON ARTICLES; 重建全文索引:CREATE FULLTEXT INDEX IDX_CONTENT ON ARTICLES(content); 3) 設定本地停用詞表 CREATE TABLE T_CPDAILY_STOPWORDS(value VARCHAR(30)) ENGINE = INNODB; SET GLOBAL innodb_ft_server_stopword_table = ‘cpdaily/T_CPDAILY_STOPWORDS‘; 4)設定配置項 show VARIABLES like ‘innodb_%‘; set GLOBAL innodb_optimize_fulltext_only=ON; set global innodb_ft_aux_table = ‘cpdb/articles‘; OPTIMIZE TABLE articles; 五、卸載 Mac上的卸載 sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-) rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* Linux上的卸載 1) yum list installed mysql* rpm -qa | grep -i mysql 2) yum remove mysql mysql-devel mysql-server mysql-libs compat-mysql51 rpm -aq | grep -i mysql 3) rm -rf /var/lib/mysql 4) whereis mysql rm -rf /usr/lib64/mysql rm -rf /usr/local/mysql rm -rf /usr/local/mysql/bin/mysql 5) find / -name mysql rm -rf /usr/lib/mysql rm -rf /usr/share/mysql rm -rf /usr/local/mysql-5.6.35/ rm -rf /run/mysql rm –rf /usr/my.cnf rm -rf /root/.mysql_sercret 6) chkconfig --list | grep -i mysql chkconfig --del mysqld rm -rf /var/log/mysql 注!!!一、安裝cmake: // 擷取安裝包並解壓縮 wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz tar xzvf cmake-3.3.2.tar.gz // 進入到cmake檔案夾中執行引導命令 cd cmake-3.3.2 ./bootstrap // 執行make gmake // 執行安裝(root許可權) make install 二、安裝boost wget https://sourceforge.Net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz tar -zxvf boost_1_62_0.tar.gz cp -r boost_1_62_0 /usr/local/boost
MySQL安裝配置,命令,異常紀要